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