Heim > Backend-Entwicklung > C++ > Warum erhalte ich in C einen statischen Variablenverknüpfungsfehler?

Warum erhalte ich in C einen statischen Variablenverknüpfungsfehler?

Patricia Arquette
Freigeben: 2024-12-31 08:02:09
Original
407 Leute haben es durchsucht

Why Am I Getting a Static Variable Link Error in C  ?

Statischer Variablen-Link-Fehler [Duplikat]

Bei der C-Programmierung kann ein Link-Fehler auftreten, wenn eine statische Variable deklariert, aber nicht definiert ist der Code. Dieser Fehler weist darauf hin, dass der Linker die Definition der statischen Variablen während der Verknüpfungsphase nicht finden kann.

Im angegebenen Code verfügt die Klasse Log über eine statische Variable theString, die in der Header-Datei Log.h deklariert ist, dies ist jedoch der Fall nicht in der Implementierungsdatei Log.cpp definiert. Um den Linkfehler zu beheben, muss die statische Variable in der Implementierungsdatei definiert werden.

Der korrigierte Code in Log.cpp sollte wie folgt lauten:

#include "Log.h"
#include <ostream>

string Log::theString;  // Define the static variable here

void Log::method(string arg) {
    theString = "hola";
    cout << theString << endl;
}
Nach dem Login kopieren

Zusätzlich wird empfohlen, die zu entfernen Verwenden des Namensraums std; Zeile aus der Header-Datei. Diese Vorgehensweise verhindert, dass der globale Namespace mit Standardsymbolen verunreinigt wird, was zu Namenskonflikten und potenziellen Fehlern führen kann.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich in C einen statischen Variablenverknüpfungsfehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage