__RTDynamicCast

dynamic_cast 演算子のランタイム実装です。

構文

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

パラメーター

inptr
ポリモーフィック型オブジェクトへのポインター。

VfDelta
オブジェクト内の仮想関数ポインターのオフセット。

SrcType
inptr パラメーターでポイントするオブジェクトのスタティック型。

TargetType
キャストの意図した結果。

isReference
入力が参照の場合は true、ポインターの場合は false

戻り値

成功した場合は、適切なサブオブジェクトへのポインター。それ以外の場合は 、NULL です

例外

dynamic_cast<> への入力が参照でありキャストに失敗した場合は bad_cast()

注釈

inptrTargetType 型のオブジェクトに変換します。 inptr の型は、TargetType がポインターの場合はポインター、TargetType が参照の場合は左辺値である必要があります。 TargetType は、以前に定義されたクラス型への参照かポインター、または void 型へのポインターである必要があります。

必要条件

ルーチンによって返される値 必須ヘッダー
__RTDynamicCast rtti.h