Fehler beim löschen den Instanz



  • Hallo,

    ich habe ein Problem bei der Virtuellen Ableitung.
    Folgende Klassenhierarchie:

    class base // schnittstelle
    {
    public:
        virtual void func1() = 0;
        virtual void func2() = 0;
    };
    class A : public base
    {
    public:
        A(int);
        virtual void func1();
        virtual void func2();
    };
    class B : virtual public A // <---
    {
    public:
        B(int);
        virtual void func1();
    };
    

    an sich ja richtig, es kompiliert selbst auf der höchsten stufe ohne Warnungen.
    Wenn ich das virtual wegnehme läuft es ohne Probleme, nur mit bekomme ich einen Laufzeitfehler wenn ich die Instanz mit delete löschen will.

    Komischerweise kann ich alle Methoden ohne Probleme benutzen.

    Frage: was mache ich falsch ?

    Kompiler ist msvc 2008



  • Virtueller Destruktor?


  • Mod

    Eup schrieb:

    Frage: was mache ich falsch ?

    Dein Code besteht nur aus Deklarationen - woher sollen wir dann wissen, was dein Programm tut?



  • die funktionen machen nichts tolles nur ein paar variablen verändern.

    @drakon: thx es funktioniert ! habe allerdings keine externen verweise die einen vtirtuellen dtor erfordern.


Anmelden zum Antworten