__RTDynamicCast
Runtime implementation of the dynamic_cast
operator.
Syntax
PVOID __RTDynamicCast(
PVOID inptr,
LONG VfDelta,
PVOID SrcType,
PVOID TargetType,
BOOL isReference
) throw(...)
Parameters
inptr
Pointer to a polymorphic object.
VfDelta
Offset of virtual function pointer in object.
SrcType
Static type of object pointed to by the inptr
parameter.
TargetType
Intended result of cast.
isReference
true
if input is a reference; false
if input is a pointer.
Return value
Pointer to the appropriate subobject if successful; otherwise, NULL
.
Exceptions
bad_cast()
if the input to dynamic_cast<>
is a reference and the cast fails.
Remarks
Converts inptr
to an object of type TargetType
. The type of inptr
must be a pointer if TargetType
is a pointer, or an l-value if TargetType
is a reference. TargetType
must be a pointer or a reference to a previously defined class type, or a pointer to void.
Requirements
Routine | Required header |
---|---|
__RTDynamicCast |
<rttidata.h> |