Heim > Backend-Entwicklung > C++ > Hauptteil

Warum gibt mein C-Programm den Fehler „Konstruktor ohne Argumente' aus?

Linda Hamilton
Freigeben: 2024-11-17 17:45:01
Original
226 Leute haben es durchsucht

Why Does My C   Program Throw a

Den Fehler „Konstruktor ohne Argumente“ verstehen

Beim Kompilieren eines C-Programms mit einem Konstruktor ohne Argumente unter Verwendung von g in Cygwin Möglicherweise wird die kryptische Fehlermeldung angezeigt: „Fehler: Anforderung für Mitglied „function1“ in „myObj“, das vom Nicht-Klassentyp „MyClass“ ist ()()'".

Dieser Fehler ist auf ein Missverständnis bezüglich der Syntax von Konstruktordeklarationen in C zurückzuführen. Gemäß dem Sprachstandard ist die mehrdeutige Syntax „MyClass myObj();“ kann entweder als Objektdefinition oder als Funktionsdeklaration interpretiert werden. Der Standard löst diese Mehrdeutigkeit jedoch, indem er der Interpretation der Funktionsdeklaration Priorität einräumt.

Um diesen Fehler zu vermeiden, sollten Sie Ihr Objekt daher explizit ohne Klammern deklarieren, wie folgt:

MyClass myObj;
Nach dem Login kopieren

Diese Deklaration stellt klar, dass „myObj“ ein Objekt vom Typ „MyClass“ und keine Funktionsdeklaration ist.

Zusammenfassend lässt sich sagen, dass der Fehler „Constructor „ohne Argumente“ entsteht, wenn der Compiler die Syntax für die Objektdeklaration falsch interpretiert und sie als Funktionsdeklaration auflöst. Um diesen Fehler zu vermeiden, stellen Sie sicher, dass Sie Ihre Objekte ohne Klammern für Konstruktoren ohne Argumente deklarieren.

Das obige ist der detaillierte Inhalt vonWarum gibt mein C-Programm den Fehler „Konstruktor ohne Argumente' aus?. 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