Fehler bei der Verknüpfung statischer Variablen in C
Beim Kompilieren von C-Code, insbesondere auf einem Mac, kann es zu einem „Fehler bei der Verknüpfung statischer Variablen“ kommen. Ähnlich wie im bereitgestellten Codeausschnitt. Dieser Fehler tritt normalerweise auf, wenn versucht wird, auf eine statische Variable zu verweisen, die extern (in der *.cpp-Datei) nicht ordnungsgemäß definiert wurde.
Ursache des Problems
Im bereitgestellten Code wird die statische Variable „theString“ in der Header-Datei „Log.h“ deklariert, aber nie definiert. Statische Variablen erfordern eine externe Definition in der entsprechenden *.cpp-Datei, um Speicher zu reservieren und zu initialisieren.
Lösung
Um den Verknüpfungsfehler zu beheben, können Sie die Definition hinzufügen von „theString“ in die Datei „Log.cpp“, wie unten gezeigt:
// Log.cpp string Log::theString; // Define the static string here
Zusätzlich Empfehlungen
Zusätzlich zur externen Definition der statischen Variablen wird auch empfohlen, die Verwendung von „using namespace std;“ zu vermeiden. in der Header-Datei. Diese Vorgehensweise kann zu einer Verschmutzung des Namensraums führen, wodurch es in Zukunft schwieriger wird, Ihren Code zu debuggen und zu warten.
Das obige ist der detaillierte Inhalt vonWarum erhalte ich in meinem C-Code einen Fehler bei der Verknüpfung statischer Variablen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!