__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<>
입니다.
설명
inptr
을 TargetType
형식의 개체로 변환합니다. TargetType
이 포인터인 경우 inptr
의 형식은 포인터여야 하며 TargetType
이 참조인 경우에는 l 값이어야 합니다. TargetType
은 포인터, 이전에 정의한 클래스 형식에 대한 참조 또는 void에 대한 포인터여야 합니다.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
__RTDynamicCast |
<rttidata.h> |