gsoap mit seinen Werkzeugen wsdl2h und soapcpp2 mir enthält, mit einer soapStub.h Datei zur Verfügung gestellt folgenden:undefined reference to Vtable - virtuelles Element generierten Klassen von gsoap
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() { }
};
Ich beginne mit einer kleinen App der Klasse mit um Objekte mit Daten aus der informix DB zu füllen.
Aber erfolgreich kompilieren ich alle virtuellen Sachen verlassen müssen weg - ich habe viele Buchungen über diesen Fehler und die Verwendung von virtuellen Mitglieder in Subklassen gefunden - 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 erst nach Jahren von Scripting zulassen Es ist sehr schwer für mich, C++ - Code zu verstehen ... Ich möchte um Rat fragen, was ich als nächstes versuchen soll. Meine Klasse ist keine abgeleitete Klasse, was zum Beispiel mich wundern lässt.
Wenn Sie keine abgeleiteten Klassen verwenden, warum ist die Funktion virtuell? –