__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> |