Compartir a través de


Error del compilador C2361

la inicialización de 'identificador' se omite en la etiqueta 'default'

Observaciones

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.

Example

En el ejemplo siguiente se genera la advertencia 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;
   }
}