Condividi tramite


Errore del compilatore C2361

l'inizializzazione di 'identifier' viene ignorata dall'etichetta 'default'

Osservazioni:

L'inizializzazione di identifier può essere ignorata in un'istruzione switch . Non è possibile passare oltre una dichiarazione con un inizializzatore a meno che la dichiarazione non sia racchiusa in un blocco. A meno che non venga dichiarato all'interno di un blocco, la variabile si trova nell'ambito fino alla fine dell'istruzione switch .

Example

L'esempio seguente genera l'errore C2361:

// C2361.cpp
void func( void ) {
   int x;
   switch (x) {
   case 0 :
      int i = 1;
      { int j = 1; }
   default :   // C2361 error
      int k = 1;
   }
}

Possibile soluzione:

// 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;
   }
}