分享方式:


編譯器錯誤 C2362

'goto label ' 會略過 ' identifier ' 初始化

使用 /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:;
}