__RTDynamicCast

Laufzeitimplementierung des dynamic_cast-Operators.

Syntax

PVOID __RTDynamicCast(
   PVOID inptr,
   LONG VfDelta,
   PVOID SrcType,
   PVOID TargetType,
   BOOL isReference
) throw(...)

Parameter

inptr
Zeiger auf ein polymorphes Objekt.

VfDelta
Offset des virtuellen Funktionszeiger im Objekt.

SrcType
Statischer Objekttyp, auf den der inptr-Parameter zeigt.

TargetType
Beabsichtigtes Ergebnis der Umwandlung.

isReference
true, wenn die Eingabe ein Verweis ist. false, wenn die Eingabe ein Zeiger ist.

Rückgabewert

Zeiger auf das entsprechende Unterobjekt, wenn erfolgreich; andernfalls NULL.

Ausnahmen

bad_cast(), wenn die Eingabe für dynamic_cast<> ein Verweis ist und die Umwandlung fehlschlägt.

Hinweise

Konvertiert ein Objekt vom Typ inptr in Typ TargetType. Der inptr-Typ muss ein Zeiger sein, wenn TargetType ein Zeiger ist, oder ein lvalue, wenn TargetType ein Verweis ist. TargetType muss ein Zeiger oder ein Verweis auf einen zuvor definierten Klassentyp oder ein Zeiger auf „void“ sein.

Anforderungen

Routine Erforderlicher Header
__RTDynamicCast <rttidata.h>