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.


Anmelden zum Antworten