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