Heim  >  Artikel  >  Backend-Entwicklung  >  C++-Syntaxfehler: Der Standardwert eines Members muss zum Zeitpunkt der Deklaration angegeben werden.

C++-Syntaxfehler: Der Standardwert eines Members muss zum Zeitpunkt der Deklaration angegeben werden.

王林
王林Original
2023-08-22 09:06:281346Durchsuche

C++ ist eine High-Level-Programmiersprache, die in der Systementwicklung, Spieleentwicklung, im Algorithmenwettbewerb und in anderen Bereichen weit verbreitet ist. Aufgrund seiner komplexen Syntax und fehleranfälligen Eigenschaften treten jedoch häufig verschiedene Fehler bei der C++-Programmierung auf. Einer der häufigsten Fehler ist der Fehler „Der Standardwert eines Members muss zum Zeitpunkt der Deklaration angegeben werden“.

Der Grund für diesen Fehler ist, dass C++ vorschreibt, dass Mitgliedsvariablen in der Definition der Klasse Standardwerte angeben müssen. Manchmal vergessen Sie beim Schreiben des Codes, einen Standardwert für eine Mitgliedsvariable anzugeben oder einer Mitgliedsvariablen im Konstruktor einen Wert zuzuweisen, geben aber in der Klassendefinition keinen Standardwert an.

Hier stellen wir mehrere gängige Verarbeitungsmethoden vor:

  1. Geben Sie einen Standardwert an

Der direkteste Weg besteht darin, den Standardwert der Mitgliedsvariablen in der Definition der Klasse anzugeben, wie unten gezeigt:

class MyClass
{
public:
    int myInt = 0; // 成员变量的默认值在声明时提供
};
  1. In die Konstruktion Initialisierung in einer Funktion

Wenn Sie in der Definition der Klasse keinen Standardwert angeben können, können Sie die Mitgliedsvariablen im Konstruktor der Klasse initialisieren, wie unten gezeigt:

class MyClass
{
public:
    MyClass() : myInt(0) {} // 在构造函数中初始化成员变量
private:
    int myInt;
};

Dadurch kann sichergestellt werden, dass die Mitgliedsvariablen haben einen klaren Standardwert und vermeiden Kompilierungsfehler.

  1. Löschen Sie den Standardkonstruktor

Wenn die Mitgliedsvariablen der Klasse nicht standardmäßig initialisiert werden können, können Sie das Standardwertproblem der Mitgliedsvariablen vermeiden, indem Sie den Standardkonstruktor löschen. Beispiel:

class MyClass
{
public:
    MyClass(int x) : myInt(x) {} // 非默认构造函数
private:
    int myInt;
};

Durch das Löschen des Standardkonstruktors kann der Compiler nicht automatisch einen Standardkonstruktor generieren und es treten keine Probleme mit dem Standardwert von Mitgliedsvariablen auf.

Die oben genannten sind mehrere gängige Möglichkeiten, mit dem Fehler „Der Standardwert eines Mitglieds muss zum Zeitpunkt der Deklaration angegeben werden“ umzugehen. Es ist zu beachten, dass es zur Vermeidung dieser Art von Fehlern am besten ist, beim Definieren einer Klasse einen Standardwert für alle Mitgliedsvariablen anzugeben.

Das obige ist der detaillierte Inhalt vonC++-Syntaxfehler: Der Standardwert eines Members muss zum Zeitpunkt der Deklaration angegeben werden.. 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