Heim >Backend-Entwicklung >C++ >Warum erhalte ich in meinem Code die Fehlermeldung „Nicht deklarierte Kennung'?

Warum erhalte ich in meinem Code die Fehlermeldung „Nicht deklarierte Kennung'?

Susan Sarandon
Susan SarandonOriginal
2024-12-19 01:56:10209Durchsuche

Why Am I Getting

Fehler bei nicht deklarierten Bezeichnern: Ursachen und Lösungen

Fehler bei nicht deklarierten Bezeichnern treten auf, wenn der Compiler auf einen Verweis auf eine Variable, eine Funktion oder einen Typ stößt wurde im aktuellen Bereich nicht deklariert oder definiert. Diese Fehler werden typischerweise durch einen der folgenden Gründe verursacht:

Fehlende Einbeziehung der Header-Datei

Die häufigste Ursache für nicht deklarierte Identifikatorfehler ist das Fehlen der erforderlichen Header-Datei das die Deklaration des Bezeichners enthält. In C würde beispielsweise das folgende Beispiel einen „nicht deklarierten Bezeichner“-Fehler für die „cout“-Funktion generieren:

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

Um dieses Problem zu beheben, fügen Sie den Header-Datei:

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

Falsch geschriebene Variablen oder Funktionen

Eine weitere häufige Quelle dieser Fehler sind falsch geschriebene Bezeichner. Beispielsweise würde der folgende Code aufgrund der falsch geschriebenen Variable „AComplicatedName“ in der zweiten Zeile einen Fehler erzeugen:

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

Incorrect Scope

Identifiers must deklariert werden im gleichen Bereich, in dem auf sie verwiesen wird. In diesem Beispiel sollte beispielsweise „std::string“ verwendet werden, um sowohl „s1“ als auch „s2“ zu deklarieren:

#include <string>

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

Use Before Declaration

In einigen Programmiersprachen, wie z. B. C, müssen Bezeichner vor ihrer Verwendung deklariert werden. Wenn auf eine Funktion oder Variable vor ihrer Deklaration verwiesen wird, generiert der Compiler einen Fehler „nicht deklarierter Bezeichner“. Zum Beispiel:

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

Um diesen Fehler zu beheben, verschieben Sie entweder die Definition von „g“ vor „f“:

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

Oder fügen Sie eine Deklaration von „g“ vor „f“ hinzu ':

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

stdafx.h nicht oben (Visual Studiospezifisch)

In Visual Studio muss die Zeile „#include „stdafx.h““ die erste Codezeile sein, um andere Headerdateien korrekt zu verarbeiten. Wenn diese Zeile weggelassen oder nicht oben platziert wird, ignoriert der Compiler möglicherweise nachfolgende Deklarationen, was zu Fehlern aufgrund nicht deklarierter Bezeichner führt. Zum Beispiel:

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

In diesem Beispiel ist das „#include “ würde ignoriert werden und der Code würde nicht kompiliert werden können. Um dieses Problem zu beheben, verschieben Sie „#include „stdafx.h““ an den Anfang der Datei:

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

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem Code die Fehlermeldung „Nicht deklarierte Kennung'?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn