__RTDynamicCast

Implementazione in fase di esecuzione 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 sotto-oggetto 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.

Note

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

Routine Intestazione obbligatoria
__RTDynamicCast rtti.h