Duplicar posibles:
Why can't variables be declared in a switch statement?error C2361: inicialización de 'encontrado' se salta por 'defecto' etiqueta
Tengo un extraño error en mi código de abajo:
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;;
}
El compilador de Visual Studio 2010 dice que:
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'
Creo que he escrito correctamente declaraciones de ruptura y predeterminadas, entonces, ¿dónde está el error?
-1 para dar muchos códigos irrelevantes cuando el mensaje de error indica claramente dónde está el código problemático. –
¿Cuándo desapareció el antiguo arte de leer los mensajes de error? – PlasmaHH
Esto es solo un duplicado exacto si ya conoce la respuesta al problema. El críptico "error C2361: la inicialización de 'encontrado' se omite por 'etiqueta predeterminada'" no necesariamente lo lleva a la pregunta '¿Por qué no se pueden declarar variables en una declaración de conmutación?' –