Maison >développement back-end >C++ >Pourquoi est-ce que j'obtiens des erreurs « Identifiant non déclaré » dans mon code ?

Pourquoi est-ce que j'obtiens des erreurs « Identifiant non déclaré » dans mon code ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-19 01:56:10139parcourir

Why Am I Getting

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 fichier d'en-tête :

#include 
int main() {
    cout << "Hello world!" << endl;
    return 0;
}

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 :

int main() {
    int aComplicatedName;
    AComplicatedName = 1;  /* mind the uppercase A */
    return 0;
}

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' :

#include <string>

int main() {
    std::string s1 = "Hello"; // Correct.
    string s2 = "world"; // WRONG - would give error.
}

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 :

void f() { g(); }
void g() { }

Pour corriger cette erreur, déplacez la définition de 'g' avant 'f' :

void g() { }
void f() { g(); }

Ou ajoutez une déclaration de 'g' avant 'f' :

void g(); // declaration
void f() { g(); }
void g() { } // definition

' :

stdafx.h pas en haut (visuel Studio-Specific)

#include <iostream>
#include "stdafx.h"

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 :

#include "stdafx.h"
#include <iostream>
Dans cet exemple, le "#include " serait ignoré et le code ne parviendrait pas à être compilé. Pour résoudre ce problème, déplacez "#include "stdafx.h"" en haut du fichier :

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn