Laufzeittypidentifikation und Destruktoren
Nach oben zu Identifikation von Typen zur Laufzeit (RTTI) - Index
Wenn das Destruktor-Cleanup aktiviert ist, kann ein Zeiger auf eine Klasse mit einem virtuellen Destruktor nicht gelöscht werden, wenn diese Klasse nicht mit der aktiverten Laufzeittypidentifikation compiliert wurde. Die Laufzeittypidentifikation und das Destruktor-Cleanup sind per Voreinstellung aktiviert. Sie können auf der Registerseite C++ des Dialogfeldes Projektoptionen oder mit den Kommanozeilenoptionen -xd- und -RT- deaktiviert werden.
Beispiel
class Alpha {
public:
virtual ~Alpha( ) { }
};
void func( Alpha *Aptr ) {
delete Aptr; // Fehler. Alpha ist kein polymorpher Klassentyp
}