__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입니다.

예외

bad_cast()에 대한 입력이 참조이고 캐스팅이 실패한 경우 dynamic_cast<>입니다.

설명

inptrTargetType 형식의 개체로 변환합니다. TargetType이 포인터인 경우 inptr의 형식은 포인터여야 하며 TargetType이 참조인 경우에는 l 값이어야 합니다. TargetType은 포인터, 이전에 정의한 클래스 형식에 대한 참조 또는 void에 대한 포인터여야 합니다.

요구 사항

루틴 필수 헤더
__RTDynamicCast rtti.h