Erreur du compilateur C2361
l’initialisation de 'identifier' est ignorée par l’étiquette 'default'
L’initialisation de identifier
peut être ignorée dans une switch
instruction. Vous ne pouvez pas passer une déclaration avec un initialiseur, sauf si la déclaration est placée dans un bloc. (Sauf s’il est déclaré dans un bloc, la variable se trouve dans l’étendue jusqu’à la fin de l’instruction switch
.)
L’exemple suivant génère l’erreur C2361 :
// C2361.cpp
void func( void ) {
int x;
switch (x) {
case 0 :
int i = 1;
{ int j = 1; }
default : // C2361 error
int k = 1;
}
}
Résolution possible :
// 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;
}
}