Heim > Backend-Entwicklung > C++ > Warum tritt in C der Fehler „Fehler: Anforderung für Mitglied „...' in „…' auf, das nicht zum Klassentyp gehört, und wie kann das Problem behoben werden?

Warum tritt in C der Fehler „Fehler: Anforderung für Mitglied „...' in „…' auf, das nicht zum Klassentyp gehört, und wie kann das Problem behoben werden?

Mary-Kate Olsen
Freigeben: 2024-12-05 06:22:11
Original
823 Leute haben es durchsucht

Why Does

Behebung von „Fehler: Anfrage für Mitglied ‚...‘ in ‚...‘, das vom Nicht-Klassentyp ist“

Wenn in C die Fehlermeldung „Fehler: Anforderung für Mitglied ‚...‘ in ‚...‘, das vom Nicht-Klassentyp ist“ auftritt, deutet dies häufig auf ein Problem mit der Objektinstanziierung und dem Zugriff auf Klassenmitglieder hin. Um dieses Problem zu beheben, untersuchen wir den bereitgestellten Code und die Grundursache des Fehlers.

Der Code definiert eine Klasse Foo mit zwei Konstruktoren: einem, der keine Argumente akzeptiert, und einem, der ein Argument akzeptiert. Die Absicht besteht darin, Objekte von Foo mit beiden Konstruktoren zu erstellen. Beim Versuch, ein Objekt mit dem Konstruktor ohne Argumente zu erstellen, tritt jedoch ein Fehler auf.

Bei der Untersuchung liegt das Problem in der folgenden Zeile:

Foo foo2();
Nach dem Login kopieren

Der Compiler interpretiert diese Zeile als eine Funktionsdeklaration mit dem Namen „foo2“ und dem Rückgabetyp „Foo“. Der beabsichtigte Zweck besteht jedoch darin, ein Objekt der Klasse Foo mithilfe des Standardkonstruktors zu deklarieren und zu instanziieren. Um dieses Problem zu beheben, sollte die Syntax wie folgt geändert werden:

Foo foo2;
Nach dem Login kopieren

Durch einfaches Entfernen der Klammern interpretiert der Compiler die Zeile nun korrekt als Objektdeklaration und Instanziierung und verwendet den Standardkonstruktor zum Initialisieren des foo2-Objekts .

Diese Änderung ermöglicht, dass der Code wie erwartet kompiliert und ausgeführt wird. Objekte können jetzt mit beiden Konstruktoren erstellt werden und auf Memberfunktionen kann problemlos zugegriffen werden. Denken Sie daher daran, die richtige Syntax für Objektdeklarationen und Instanziierungen zu verwenden, um diese Art von Fehlern bei der C-Programmierung zu vermeiden.

Das obige ist der detaillierte Inhalt vonWarum tritt in C der Fehler „Fehler: Anforderung für Mitglied „...' in „…' auf, das nicht zum Klassentyp gehört, und wie kann das Problem behoben werden?. 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