Erreur du compilateur C2360
l’initialisation de 'identifier' est ignorée par l’étiquette 'case'
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 C2360 :
// C2360.cpp
int main() {
int x = 0;
switch ( x ) {
case 0 :
int i = 1;
{ int j = 1; }
case 1 : // C2360
int k = 1;
}
}
Résolution possible :
// C2360b.cpp
int main() {
int x = 0;
switch ( x ) {
case 0 :
{ int j = 1; int i = 1;}
case 1 :
int k = 1;
}
}