undefined reference to vtable - virtuelle member-Klassen generiert, die von gsoap

gsoap mit seinen tools wsdl2h und soapcpp2 mich mit einer soapStub.h-Datei, die Folgendes enthält:

class SOAP_CMAC ns2__SOAPKunden
{
  public:
    std::string *adresszusatz; 
    //...
  public:
    virtual int soap_type() const { return 7; }
    //...
    ns2__SOAPKunden() : adresszusatz(NULL), x(NULL) { }   //left out all member init.
    virtual ~ns2__SOAPKunden() { }
};

Beginne ich mit einer kleinen app mit der Klasse zum füllen von Objekten mit Daten aus der informix-DB.

Aber erfolgreich kompiliert habe ich, lassen sich alle virtuellen Sachen - fand ich viele Beiträge zu diesem Fehler und die Nutzung virtueller member in Unterklassen - sonst bekomme ich

main.o: In function `ns2__SOAPKunden::ns2__SOAPKunden()':
main.cpp:(.text._ZN15ns2__SOAPKundenC1Ev[ns2__SOAPKunden::ns2__SOAPKunden()]+0xf): undefined reference to `vtable for ns2__SOAPKunden'
main.o: In function `ns2__SOAPKunden::~ns2__SOAPKunden()':
main.cpp:(.text._ZN15ns2__SOAPKundenD1Ev[ns2__SOAPKunden::~ns2__SOAPKunden()]+0x13): undefined reference to `vtable for ns2__SOAPKunden'
collect2: ld returned 1 exit status

Ich gebe zu, nach Jahren des Skripts nur es ist sehr schwer für mich, den Sinn von C++ - code... möchte ich Euch bitten, für jede Beratung, was zu versuchen nächsten. Meine Klasse ist keine abgeleitete Klasse ist zum Beispiel, was mich Wundern lässt.

Wenn Sie sich nicht mit abgeleiteten Klassen, warum ist die Funktion virtuelle?

InformationsquelleAutor groovehunter | 2011-01-04

Schreibe einen Kommentar