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");
}