Schwierigkeiten beim Anlegen eines neuen Objektes..
-
Hallo alle zusammen,
ich habe im Moment Schwierigkeiten ein neues Objekt anzulegen. Vielleicht könnt ihr behilflich sein:
Mein Versuch:
vor_person = new VOR_Person();
Mögliche Konstruktoren:
/// Default-Konstruktor
VOR_Person();/// Copy-Konstruktor
VOR_Person(const VOR_Person &);/// Konstruktor mit Objekt-Id (String)
VOR_Person(const string &objname);/// Konstruktor mit Key-Values
VOR_Person(int oid);/// Destruktor
virtual ~VOR_Person();Beim Kompilieren krieg ich ständig folgenden Fehler:
/usr/tools/include/g++/stl_alloc.h: undefined reference to `VOR_Person::VOR_Person(void)'
collect2: ld returned 1 exit status
gmake: *** [fill_vor_person] Fehler 1Was heißt denn das?? Was mach ich falsch?
Vielen Dank schon mal im Voraus.
-
Hast du VOR_Person() auch implementiert? Also:
class VOR_Person { public: VOR_Person() { /*...*/ }; }; //... VOR_Person *p = new VOR_Person();
-
ich include die headerdatei...
#include "vorperson.h"
.. in der ist die klasse natürlich.
-
Ok, und hast du die C++ Datei in der die Definitionen drinstehen auch dem Compiler mitgegeben?
-
wie meinst du? das hab ich jetzt nicht ganz gecheckt?
was meinst du mit 'C++ Datei in der die Definitionen drinstehen'?
-
Petommy schrieb:
wie meinst du? das hab ich jetzt nicht ganz gecheckt?
was meinst du mit 'C++ Datei in der die Definitionen drinstehen'?
Normalerweise teilt man eine Klasse und die Implementierung der Methoden in Header- und C++-Datei auf:
// Bla.h class Bla{ Bla(){} ~Bla(){} void halloWelt(); }// Bla.cpp #include "Bla.h" #include <iostream> void Bla::halloWelt() { cout << "Hallo Welt"; }
-
genau...
.cc und .h
-
hat keiner eine idee was es denn noch sein könnte?
-
Hast du dem Compiler (bzw. Linker) denn auch mitgeteilt, daß er die VOR_Person.cpp (oder wie auch immer die Implementationsdatei für VOR_Person heißt) mit einbinden soll?
-
Weiß nicht, schau ich mal..
Hab nämlich die Klasse nicht erstellt, ich soll sie nur füllen...