__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()
。
備註
將 inptr
轉換為 TargetType
類型的物件。 如果 TargetType
是指標,則 inptr
類型必須是指標;或如果 TargetType
是參考,則為左值 (l-value)。 TargetType
必須是先前定義的類別類型的指標或參考,或是為 void 的指標。
需求
常式 | 必要的標頭 |
---|---|
__RTDynamicCast |
<rttidata.h> |