Heim > Backend-Entwicklung > C++ > Warum erhalte ich die Fehlermeldung „Undefinierte Referenz', wenn ich in einer nichtstatischen C-Methode auf eine statische Variable zugreife?

Warum erhalte ich die Fehlermeldung „Undefinierte Referenz', wenn ich in einer nichtstatischen C-Methode auf eine statische Variable zugreife?

DDD
Freigeben: 2024-12-15 15:36:11
Original
331 Leute haben es durchsucht

Why Do I Get an

Undefinierter Verweis auf statische Variable in C

Beim Versuch, auf eine statische Variable innerhalb einer nicht statischen Methode einer Klasse zuzugreifen, kann es sein, dass Entwickler Es tritt der Fehler „undefinierte Referenz“ auf. Um dieses Problem zu beheben, ist es wichtig, eine Definition für die statische Variable außerhalb der Klassendeklaration bereitzustellen.

Im bereitgestellten Codeausschnitt:

class Helloworld{
  public:
     static int x;
     void foo();
};

void Helloworld::foo(){
     Helloworld::x = 10;
};
Nach dem Login kopieren

Die statische Variable x wird innerhalb der deklariert Klasse, aber es fehlt eine Definition. Um dies zu beheben, können wir die folgende Zeile außerhalb der Klassendefinition hinzufügen:

int Helloworld::x;
Nach dem Login kopieren

Dies stellt eine Definition für x bereit, sodass die foo()-Methode darauf zugreifen kann, ohne dass ein undefinierter Referenzfehler auftritt. Es ist wichtig zu beachten, dass der Standardwert für statische Variablen Null ist, sodass bei Bedarf ein expliziter Initialisierer bereitgestellt werden kann.

Durch Befolgen dieser Schritte können Entwickler effektiv auf statische Variablen innerhalb nicht statischer Methoden zugreifen und so die ordnungsgemäße Funktion sicherstellen Code-Funktionalität und Vermeidung undefinierter Referenzfehler.

Das obige ist der detaillierte Inhalt vonWarum erhalte ich die Fehlermeldung „Undefinierte Referenz', wenn ich in einer nichtstatischen C-Methode auf eine statische Variable zugreife?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage