次の方法で共有


コンパイラ エラー C2362

'identifier' の初期化が 'goto label' によってスキップされています

/ Za を使用してコンパイルすると、ラベルにジャンプしても、識別子が初期化されなくなります。

宣言が入力されていないブロックで囲まれている場合、または変数が既に初期化されている場合にのみ、初期化子を使用して宣言をジャンプできます。

次の例では C2362 が生成されます。

// C2362.cpp
// compile with: /Za
int main() {
   goto label1;
   int i = 1;      // C2362, initialization skipped
label1:;
}

考えられる解決方法:

// C2362b.cpp
// compile with: /Za
int main() {
   goto label1;
   {
      int j = 1;   // OK, this block is never entered
   }
label1:;
}