Поделиться через


__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. Тип операнда inptr должен быть указателем, если TargetType является указателем, или l-значением, если TargetType является ссылкой. Параметр TargetType должен быть указателем или ссылкой на ранее определенный тип класса или указателем на void.

Требования

Маршрут Обязательный заголовок
__RTDynamicCast <rttidata.h>