Ошибка компилятора C2361
инициализация идентификатора пропускается меткой по умолчанию
Инициализация identifier
может быть пропущена в инструкции switch
. Невозможно перейти к объявлению с инициализатором, если объявление не заключено в блок. (Если она не объявлена в блоке, переменная находится в пределах области до конца инструкции switch
.)
Следующий пример приводит к возникновению ошибки C2361:
// C2361.cpp
void func( void ) {
int x;
switch (x) {
case 0 :
int i = 1;
{ int j = 1; }
default : // C2361 error
int k = 1;
}
}
Возможное решение
// 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;
}
}