HEAP Problem nach delete..
-
Rufe im mehre verschachtelte Destruktoren auf (Vererbung) dabwei werden mehre tausende Objekte (ohne) Fehler gelöscht...
sobal alles Objekt bzw. alle Konsturkotrne durchlaufen sind kom aber folgender Fehelrmeldugn:
HEAP[Simulator.exe]: Invalid Address specified to RtlValidateHeap( 2f0000, 2f8f58 )
Unhandled exception at 0x7789193c in Simulator.exe: User breakpoint.was hat dies zu bedeuten?
Peoblem tritt auch auf wenn ich nur wenige Objekt erzeuge.. irgndwie werden nich alle Daten/Objekte ordnugnsmeäss geköscht odeR? wie kann ich das überprüfen?
-
Nachdem du so viele Fragen zur Vererbung gestellt hast - löschst du abgeleitete Klassen über Basis-Zeiger?
Base* ptr = new Derived; ... delete ptr;Wenn ja, spendiere der Basisklasse bitte einen virtuellen Destruktor.
-
Ja das problem war, das ich nich wusste das wenn ich den Destruktor einer Abgeleiteten klasse automatishc den destruktor der Basisklasse auruft... ich hab ihn also 2 mal aufegrufen das zu dem problem führte...
~B(){ . . . A::~A(); // <--- (Extra Aufrufe des destruktor der Basisklasse) }