__RTDynamicCast
Implementação do runtime do operador dynamic_cast
.
Sintaxe
PVOID __RTDynamicCast(
PVOID inptr,
LONG VfDelta,
PVOID SrcType,
PVOID TargetType,
BOOL isReference
) throw(...)
Parâmetros
inptr
Ponteiro para um objeto polimórfico.
VfDelta
Deslocamento do ponteiro de função virtual no objeto.
SrcType
O tipo estático do objeto apontado pelo parâmetro inptr
.
TargetType
Resultado desejado da conversão.
isReference
true
se a entrada for uma referência; false
se ela for um ponteiro.
Valor retornado
Ponteiro do subobjeto apropriado se for bem-sucedido; caso contrário, NULL
.
Exceções
bad_cast()
se a entrada para dynamic_cast<>
for uma referência e a conversão falhar.
Comentários
Converte inptr
em um objeto do tipo TargetType
. O tipo de inptr
deve ser um ponteiro se TargetType
for um ponteiro, ou um l-value se TargetType
for uma referência. TargetType
deve ser um ponteiro ou uma referência a um tipo de classe previamente definido ou a um “ponteiro para nulo”.
Requisitos
Rotina | Cabeçalho necessário |
---|---|
__RTDynamicCast |
<rttidata.h> |