Błąd kompilatora C2362
Inicjowanie identyfikatora jest pomijane przez etykietę "goto"
Podczas kompilowania przy użyciu / Za skok do etykiety uniemożliwia zainicjowanie identyfikatora.
Możesz przeskoczyć deklarację tylko za pomocą inicjatora, jeśli deklaracja jest ujęta w blok, który nie został wprowadzony lub czy zmienna została już zainicjowana.
Poniższy przykład generuje C2362:
// C2362.cpp
// compile with: /Za
int main() {
goto label1;
int i = 1; // C2362, initialization skipped
label1:;
}
Możliwe rozwiązanie:
// C2362b.cpp
// compile with: /Za
int main() {
goto label1;
{
int j = 1; // OK, this block is never entered
}
label1:;
}