__RTDynamicCast__RTDynamicCast

dynamic_cast 연산자의 런타임 구현입니다.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
inptr 매개 변수가 가리키는 개체의 정적 형식입니다.Static type of object pointed to by the inptr parameter.

TargetType
캐스트의 의도된 결과입니다.Intended result of cast.

isReference
입력이 참조인 경우 true이며, 입력이 포인터인 경우 false입니다.true if input is a reference; false if input is a pointer.

반환 값Return Value

성공한 경우 적절한 하위 개체에 대한 포인터입니다. 그렇지 않으면 NULL입니다.Pointer to the appropriate sub-object, if successful; otherwise, NULL.

예외Exceptions

bad_cast()에 대한 입력이 참조이고 캐스팅이 실패한 경우 dynamic_cast<>입니다.bad_cast() if the input to dynamic_cast<> is a reference and the cast fails.

설명Remarks

inptrTargetType 형식의 개체로 변환합니다.Converts inptr to an object of type TargetType. TargetType이 포인터인 경우 inptr의 형식은 포인터여야 하며 TargetType이 참조인 경우에는 l 값이어야 합니다.The type of inptr must be a pointer if TargetType is a pointer, or an l-value if TargetType is a reference. TargetType은 포인터, 이전에 정의한 클래스 형식에 대한 참조 또는 void에 대한 포인터여야 합니다.TargetType must be a pointer or a reference to a previously defined class type, or a pointer to void.

요구 사항Requirements

루틴Routine 필수 헤더Required header
__RTDynamicCast__RTDynamicCast rtti.hrtti.h