Fehler: Requesting Member in Non-Class Type „Non-Class Type“
Beim Deklarieren von Objekten in C ist es wichtig, das zu verwenden Korrekte Syntax für beide Konstruktoren. Im bereitgestellten Code führt ein Versuch, ein Objekt mit dem Konstruktor ohne Argumente zu erstellen, zu einem Fehler:
Foo foo2();
Diese Syntax ist falsch, da sie einer Funktionsdeklaration ähnelt, was dazu führt, dass der Compiler sie als solche interpretiert . Die korrekte Syntax für die Objektdeklaration mit dem Konstruktor ohne Argumente lautet:
Foo foo2;
Durch Entfernen der Klammern erkennt der Compiler foo2 korrekt als Objekt der Klasse Foo.
Alternativ, wenn Wenn Sie der Übersichtlichkeit halber Klammern verwenden möchten, stellen Sie sicher, dass die Konstruktorargumente enthalten sind:
Foo foo2(1); // Explicitly pass the default argument of 1 to the no-argument constructor
Das obige ist der detaillierte Inhalt vonC-Konstruktor-Syntax: Warum verursacht „Foo foo2();' einen Fehler?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!