__RTDynamicCast

Implementazione di runtime dell'operatore dynamic_cast .

Sintassi

PVOID __RTDynamicCast(
   PVOID inptr,
   LONG VfDelta,
   PVOID SrcType,
   PVOID TargetType,
   BOOL isReference
) throw(...)

Parametri

inptr
Puntatore a un oggetto polimorfico.

VfDelta
Offset del puntatore a funzione virtuale nell'oggetto.

SrcType
Tipo statico dell'oggetto puntato dal parametro inptr.

TargetType
Risultato di cast desiderato.

isReference
true se l'input è un riferimento; false se l'input è un puntatore.

Valore restituito

Puntatore al sottooggetto appropriato in caso di esito positivo; in caso contrario, NULL.

Eccezioni

bad_cast() se l'input a dynamic_cast<> è un riferimento e il cast ha esito negativo.

Osservazioni:

Converte inptr in un oggetto del tipo TargetType. Il tipo di inptr deve essere un puntatore se TargetType è un puntatore o un l-value se TargetType è un riferimento. TargetType deve essere un puntatore o un riferimento a un tipo di classe definito in precedenza oppure un puntatore a void.

Requisiti

Ciclo Intestazione obbligatoria
__RTDynamicCast <rttidata.h>