T
Servus davie!
Da hab ich mich vielleicht etwas ungünstig ausgedrückt!
Auf den höheren Ebenen meiner Klassenhierarchie wird auf jeden Fall virtuell vererbt. Die Aufrufreihenfolge der Konstruktoren spielt allerdings an dieser Stelle keine Rolle, da die betroffenen Klassen lediglich über Standardkonstruktoren verfügen. Ich muss die Reihenfolge also nicht extra angeben. Das kann das Problem nicht sein. Viele Klassen der angesprochenen Hierarchie verfügen ebenso über virtuelle, teilweise sogar abstrakte, Routinen. Ich hätte eigentlich gedacht, dass mir in Verbindung mit diesen Methoden kein Fehler unterlaufen ist. Doch wie ich gerade festgestellt habe, hab ich nicht allen Klassen, die über virtuelle Funktionen verfügen, virtuelle Destruktoren zugeordnet. Gut, in vielen Fällen muss ich das auch nicht unbedingt! Nur im aktuellen Fall hab ich jetzt mal zu Testzwecken bei allen Klassen mit virtuellen Methoden virtuelle Destruktoren mit eingebaut. Und siehe da: Der Fehler ist verschwunden!:)
Dann waren offensichtlich wirklich nur fehlende Destruktorenaufrufe für die ganze Misere verantwortlich!
=> Ab sofort setze ich lieber wirklich bei jeder Klasse mit virtuellen Methoden einen virtuellen Destruktor!!!
Danke, dass Du dich gemeldet hast!
Grüße,
TS++