Ich versuche eine Klasse in verschiedenen cpp-Dateien zu implementieren. Ich verstehe, dass es in C ++ eine legitime Sache ist, wenn die Mitgliedsfunktionen unabhängig sind. Eine der Elementfunktionen verwendet jedoch eine andere Elementfunktion wie in diesem Fall:
In Funktion1.cpp
%Vor%In function2.cpp
%Vor%Ich bekomme einen Fehler von undefiniertem Verweis auf Funktion2. Es funktioniert nicht, indem Sie diesen Zeiger entweder hinzufügen. Muss ich es in function1.cpp irgendwie deklarieren? Danke ~
Die Header-Datei enthält die Deklaration beider Funktionen. Es funktioniert, wenn Funktion 1 und Funktion 2 in der gleichen Datei sind, aber nicht, wenn ich sie getrennt habe. Ich glaube auch, dass ich beide cpp im Projekt hinzugefügt habe. Ich benutze Qt Creater BTW.
Solange myclass.h
die Definition der Klasse mit den Deklarationen der Elementfunktionen enthält, sollte alles in Ordnung sein. Beispiel:
Das sollte funktionieren. Wenn Sie einen Linker-Fehler erhalten, stellen Sie sicher, dass Sie beide cpp-Dateien kompilieren, was wahrscheinlich Ihren Fehler verursacht.
Tags und Links c++