Linker Problem mit Klassen
-
Ich arbeite mich gerade in C++ Klasen ein und stehe gerade voll auf dem Schlauch...
Ich habe in der object.h folgende Klasse:class object { public: object(); ~object(); int x; };Dann habe ich ein "object" namens test erstellt:
object *test;Und in initclass() habe ich dann die Instanz erstellt:
void initclass(void) { test = new object(); }Nun spuckt der Linker aber folgende Fehlermeldungen aus:
OpenGL.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall object::object(void)" (??0object@@QAE@XZ)" in Funktion ""void __cdecl initclass(void)" (?initclass@@YAXXZ)". OpenGL.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall object::~object(void)" (??1object@@QAE@XZ)" in Funktion ""public: void * __thiscall object::`scalar deleting destructor'(unsigned int)" (??_Gobject@@QAEPAXI@Z)".Ich habe schon mehrere Seiten google zu diesem Thema durchgekaut, aber keine Lösung gefunden.
Kann mir jemand sagen, was falsch an dem Code ist, oder was man anders machen muss?
-
Du musst den Konstruktor und Destruktor schon definieren, wenn du sie deklarierst.