Erreurs d'identifiant non déclarées : causes et solutions
Des erreurs d'identifiant non déclarées surviennent lorsque le compilateur rencontre une référence à une variable, une fonction ou un type qui n’a pas été déclaré ou défini dans le périmètre actuel. Ces erreurs sont généralement causées par l'une des raisons suivantes :
Inclusion de fichier d'en-tête manquant
La cause la plus courante d'erreurs d'identifiant non déclarées est l'omission du fichier d'en-tête nécessaire. qui contient la déclaration de l'identifiant. Par exemple, en C , l'exemple suivant générerait une erreur « identifiant non déclaré » pour la fonction « cout » :
int main() { cout << "Hello world!" << endl; return 0; }
Pour résoudre ce problème, incluez le Variables ou fonctions mal orthographiées Une autre source courante de ces erreurs sont les identifiants mal orthographiés. Par exemple, le code suivant produirait une erreur en raison de la variable 'AComplicatedName' mal orthographiée sur la deuxième ligne : Portée incorrecte Les identifiants doivent être déclarés dans le même périmètre où ils sont référencés. Par exemple, dans cet exemple, 'std::string' doit être utilisé pour déclarer à la fois 's1' et 's2' : Utiliser avant la déclaration Dans certains langages de programmation, comme C , les identifiants doivent être déclarés avant d'être utilisés. Si une fonction ou une variable est référencée avant sa déclaration, le compilateur générera une erreur « identifiant non déclaré ». Par exemple : Pour corriger cette erreur, déplacez la définition de 'g' avant 'f' : Ou ajoutez une déclaration de 'g' avant 'f' : ' : stdafx.h pas en haut (visuel Studio-Specific) Dans Visual Studio, la ligne "#include "stdafx.h"" doit être la première ligne de code pour traiter correctement les autres fichiers d'en-tête. Si cette ligne est omise ou n'est pas placée en haut, le compilateur peut ignorer les déclarations suivantes, conduisant à des erreurs « identifiant non déclaré ». Par exemple : Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!#include
int main() {
int aComplicatedName;
AComplicatedName = 1; /* mind the uppercase A */
return 0;
}
#include <string>
int main() {
std::string s1 = "Hello"; // Correct.
string s2 = "world"; // WRONG - would give error.
}
void f() { g(); }
void g() { }
void g() { }
void f() { g(); }
void g(); // declaration
void f() { g(); }
void g() { } // definition
#include <iostream>
#include "stdafx.h"
#include "stdafx.h"
#include <iostream>