共用方式為


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