Eventuali duplicati:
Why can't variables be declared in a switch statement?errore C2361: l'inizializzazione di 'trovato' viene saltato da 'default' etichetta
Ho un errore di strano nel mio codice qui sotto:
char choice=Getchar();
switch(choice)
{
case 's':
cout<<" display tree ";
thetree->displaytree();
break;
case 'i':
cout<<" enter value to insert "<<endl;
cin>>value;
thetree->insert(value);
break;
case 'f' :
cout<< "enter value to find ";
cin>>value;
int found=thetree->find(value);
if(found!=-1)
cout<<" found = "<<value<<endl;
else
cout<< " not found " <<value <<endl;
break;
default:
cout <<" invalid entry "<<endl;;
}
Il compilatore di Visual Studio 2010 dice che:
1>c:\users\daviti\documents\visual studio 2010\projects\2-3-4\2-3-4\2-3-4.cpp(317): error C2361: initialization of 'found' is skipped by 'default' label
1> c:\users\daviti\documents\visual studio 2010\projects\2-3-4\2-3-4\2-3-4.cpp(308) : see declaration of 'found'
Penso di aver scritto correttamente le frasi di interruzione e di default, quindi dov'è l'errore?
-1 per dare un sacco di codice irrilevante quando il messaggio di errore indica chiaramente dove si trova il codice problematico. –
Quando scomparve l'antica arte di leggere i messaggi di errore ... – PlasmaHH
Questo è solo un duplicato esatto se conosci già la risposta al problema. L'errore "criptico" C2361: inizializzazione di "trovato" viene saltato da "etichetta" predefinita "non porta necessariamente alla domanda" Perché le variabili non possono essere dichiarate in un'istruzione switch? " –