Qu'est-ce qu'une erreur de type "identificateur non déclaré" et comment la corriger ?

Que sont les erreurs liées aux identificateurs non déclarés ? Quelles sont les causes courantes et comment puis-je les corriger ?

Exemples de textes d'erreur :

  • Pour le compilateur Visual Studio : erreur C2065 : 'cout&#39 ; : identifiant non déclaré.
  • Pour le compilateur GCC : 'cout&#39 ; undeclared (première utilisation dans cette fonction).

Elles proviennent le plus souvent de l'oubli d'inclure le fichier d'en-tête qui contient la déclaration de la fonction, par exemple, ce programme donnera une erreur de type 'undeclared identifier' :

En-tête manquant


int main() {
    std::cout 
Commentaires (4)

En C et C++, tous les noms doivent être déclarés avant d'être utilisés. Si vous essayez d&#8217utiliser le nom d&#8217une variable ou d&#8217une fonction qui n&#8217a pas été déclarée, vous obtiendrez une erreur de type "identificateur non déclaré&quot ;.

Toutefois, les fonctions constituent un cas particulier en C (et en C uniquement), dans la mesure où il n&#8217est pas nécessaire de les déclarer au préalable. Le compilateur C suppose que la fonction existe avec le nombre et le type d'arguments comme dans l'appel. Si la définition réelle de la fonction ne correspond pas à cela, vous obtiendrez une autre erreur. Ce cas particulier pour les fonctions n'existe pas en C++.

Vous corrigez ce genre d'erreurs en vous assurant que les fonctions et les variables sont déclarées avant d'être utilisées. Dans le cas de printf, vous devez inclure le fichier d'en-tête (ou en C++).

Pour les fonctions standard, je vous recommande de consulter par exemple [ce site de référence] (http://en.cppreference.com/w/), et de rechercher les fonctions que vous voulez utiliser. La documentation de chaque fonction vous indique de quel fichier d'en-tête vous avez besoin.

Commentaires (0)

C'est comme utiliser la fonction sans la déclarer. Le fichier d'en-tête stdio.h contient la fonction printf(). fonction printf(). Inclure le fichier d'en-tête dans votre programme est la solution pour cela. Certaines fonctions définies par l'utilisateur peuvent également provoquer des erreurs si elles ne sont pas déclarées avant leur utilisation. Si elle est utilisée globalement, il n'y a pas de problème.

Commentaires (0)