__RTDynamicCast
Implementierung von dynamic_cast des Operators.
PVOID __RTDynamicCast (
PVOID inptr,
LONG VfDelta,
PVOID SrcType,
PVOID TargetType,
BOOL isReference
) throw(...)
Parameter
inptr
Ein Zeiger auf einen polymorphen Objekt.VfDelta
Offset des virtuellen Funktionszeigers im Objekt.SrcType
Statischer Typ des Objekts in der inptr für den Parameter.TargetType
Beabsichtigtes Ergebnis einer Typumwandlung.isReference
true , wenn die Eingabe ein Verweis ist. false , wenn die Eingabe ein Zeiger ist.
Rückgabewert
Zeiger auf den entsprechenden Unterobjekt, wenn erfolgreich; andernfalls NULL.
Ausnahmen
bad_cast() , wenn die Eingabe für dynamic_cast<> ein Verweis und die Umwandlung ist, schlägt der Vorgang fehl.
Hinweise
Konvertiert inptr in ein Objekt des Typs TargetType.Der Typ der inptr muss ein Zeiger, wenn TargetType ein Zeiger ist oder ein L-Wert sein, wenn TargetType ein Verweis ist.TargetType muss ein Zeiger oder einen Verweis zu einem zuvor definierten Klassentyps oder ein Zeiger sein. Aufheben
Anforderungen
Routine |
Erforderlicher Header |
---|---|
__RTDynamicCast |
rtti.h |