Errore C2974 alla compilazione

di il
1 risposte

Errore C2974 alla compilazione

Ho scritto questo codice e mi da error C2974: 'Ordina': argomento di modello non valido per 'C'. Previsto tipo.   

come posso fare per risolverlo? Oppure ho proprio sbagliato il codice? Scusate ma sto cercando di imparare i template ed è la prima volta che ne scrivo uno.

// nn lo so.cpp : file di progetto principale.

#include "stdafx.h"
#include "iostream"
#include "stdlib.h"

using namespace System;
using namespace std;

struct sStudente {char nome; int voto;};
	void Carica (sStudente *vet, int *nv)
	{do{cout<<"Elementi della classe: "; cin>>*nv;}
	while(*nv>50);  
		for(int i=0; i<*nv; i++)
	{cin>>vet[i].nome;
		do{cin>>vet[i].voto;}while(vet[i].voto>10);}}
	void Stampa (sStudente *vet, int nv)
	{for(int i=0; i<nv; i++)
		{cout<<vet[i].nome<<endl;
		cout<<vet[i].voto<<endl;}}
	template <typename T, typename C>
	void Ordina( T *classe, int ns)
	{int scambi; 
	do{scambi=0; 
	for(int i=0; i<nv;i++)
	{if(C[i]>C[i+1])
	{T appoggio= T[i];
	T[i]=T[i+1];
	T[i+1]=appoggio;}
	scambi++}}
	while(scambi!=0);}
	



	void main() 
	{sStudente classe[3];
	int nv;
	 Carica(&classe[0], &nv);
	 Ordina<sStudente, classe[0].nome>(&classe[0], nv);
	 Stampa(&classe[0], nv);
	 system("pause");
	}

1 Risposte

  • Re: Errore C2974 alla compilazione

    Dio sa come programmi. Nel altro thread ti ho fatto un esempio non puoi partire da quello e fare le domande? devi per forza creare un thread nuovo con del codice incomprensibile? Poi se si parla di template significa che la parte prima di loro la sai già ma a quanto vedo hai dificoltà anche a creare un progetto C++ visto che continui ad usare un managed C++ che non centra niente con quello che studi.
Devi accedere o registrarti per scrivere nel forum
1 risposte