'identifier' 초기화가 'case' 레이블에 의해 생략되었습니다.
문에서 switch
초기화를 identifier
건너뛸 수 있습니다. 선언이 블록에 묶이지 않는 한 이니셜라이저를 사용하여 선언을 지나서 이동할 수 없습니다. (블록 내에서 선언되지 않는 한 변수는 문이 끝날 switch
때까지 범위 내에 있습니다.)
다음 샘플에서는 C2360을 생성합니다.
// C2360.cpp
int main() {
int x = 0;
switch ( x ) {
case 0 :
int i = 1;
{ int j = 1; }
case 1 : // C2360
int k = 1;
}
}
해결 방법:
// C2360b.cpp
int main() {
int x = 0;
switch ( x ) {
case 0 :
{ int j = 1; int i = 1;}
case 1 :
int k = 1;
}
}