Laufzeittypidentifikation und Destruktoren

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

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
 }

Siehe auch