PDA

Visualizza la versione completa : [C++] Usare un template con uno switch


19semplicemente
04-07-2005, 14:43
ciao..
qualcuno sa dirmi perchè il compilatore non mi fa passare questo codice e mi dice:

error C2360: initialization of 'd_vett' is skipped by 'case' label

questo è il codice del template:



template <class tipo> class massimo {

protected:
tipo max;
tipo vett[100];

public:
massimo(int j){

for(int i = 0; i<j; i++){
vett[i] = i+1;
}
}

};

questa è la funzione:

int main(){


ofstream out("c:/massimo.txt");

int dim;
charscelta;

cout << "Inserire il numero di elementi del vettore (< o = 100) \n";

cin >> dim;

out << "gli elementi del vettore sono: " << dim;

do{
cout << "scegliere il tipo di elementi da utilizzare: \n";
cout << "1 --> per gli interi\n";
cout << "2 --> per i double\n";
cout << "3 --> per i char\n\n";

cin >> scelta;
}while( scelta != '1' && scelta != '2' && scelta != '3');


switch(scelta){
case 1:
massimo<int> i_vett(100);
break;
case 2:
massimo<double> d_vett(100);
break;
case 3:
massimo<char> c_vett(100);
break;
}


return 0;
}


grazie!

pprllo
04-07-2005, 15:12
Non puoi inizializzare/dichiarare variabili in un case.

19semplicemente
04-07-2005, 15:13
e come mai con degli if annidati me li accetta? :confused:

Loading