Compartir a través de


Error del compilador C2360

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

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 C2360:

// C2360.cpp
int main() {
   int x = 0;
   switch ( x ) {
   case 0 :
      int i = 1;
      { int j = 1; }
   case 1 :   // C2360
      int k = 1;
   }
}

Posible solución:

// C2360b.cpp
int main() {
   int x = 0;
   switch ( x ) {
   case 0 :
      { int j = 1; int i = 1;}
   case 1 :
      int k = 1;
   }
}