Partager via


Erreur du compilateur C2362

l’initialisation de 'identifier' est ignorée par 'goto label'

Lors de la compilation à l’aide de /Za, un saut vers l’étiquette empêche l’identificateur d’être initialisé.

Vous ne pouvez passer qu’une déclaration avec un initialiseur si la déclaration est placée dans un bloc qui n’est pas entré ou si la variable a déjà été initialisée.

L’exemple suivant génère l’erreur C2362 :

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

Résolution possible :

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