Error del compilador C2361
la inicialización de 'identificador' se omite en la etiqueta 'default'
La inicialización de identifier
se puede omitir en una instrucción switch
. No se puede saltar después de una declaración con un inicializador, a menos que la declaración esté incluida en un bloque. A menos que se declare dentro de un bloque, la variable está dentro del ámbito hasta el final de la instrucción switch
.
El ejemplo siguiente genera el error C2361:
// C2361.cpp
void func( void ) {
int x;
switch (x) {
case 0 :
int i = 1;
{ int j = 1; }
default : // C2361 error
int k = 1;
}
}
Posible solución:
// C2361b.cpp
// compile with: /c
void func( void ) {
int x = 0;
switch (x) {
case 0 :
{ int j = 1; int i = 1;}
default :
int k = 1;
}
}