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
Libérer: 2024-12-19 01:56:10
original
137 Les gens l'ont consulté

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;
}
Copier après la connexion

Pour résoudre ce problème, incluez le fichier d'en-tête :

#include 
int main() {
    cout << "Hello world!" << endl;
    return 0;
}
Copier après la connexion

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;
}
Copier après la connexion

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.
}
Copier après la connexion

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() { }
Copier après la connexion

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

void g() { }
void f() { g(); }
Copier après la connexion

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

void g(); // declaration
void f() { g(); }
void g() { } // definition
Copier après la connexion

' :

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

#include <iostream>
#include "stdafx.h"
Copier après la connexion

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>
Copier après la connexion
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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal