C++相談室 part15
■ このスレッドは過去ログ倉庫に格納されています
0397デフォルトの名無しさん
NGNGコンパイラ エラー C2360
'identifier' の初期化が 'case' ラベルによってスキップされました。
指定された識別子の初期化は switch ステートメント内では行われない場合があります。
初期化を伴う宣言は、閉じたブロック内で行われない限り、スキップすることはできません。
初期化された変数のスコープは、switch ステートメント内の閉じたブロックの中で宣言されていない限り、switch ステートメントの最後まで続きます。
次にこのエラーの例を示します。
void func( void )
{
int x;
switch ( x )
{
case 0 :
int i = 1; // エラー, case 1 によってスキップされます
{ int j = 1; } // OK, 閉じたブロック内で初期化されています
case 1 :
int k = 1; // OK, 初期化はスキップされません
}
}
■ このスレッドは過去ログ倉庫に格納されています