__RTDynamicCast__RTDynamicCast

Implementazione in fase di esecuzione dell'operatore dynamic_cast.Runtime implementation of the dynamic_cast operator.

SintassiSyntax

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

ParametriParameters

inptr
Puntatore a un oggetto polimorfico.Pointer to a polymorphic object.

VfDelta
Offset del puntatore a funzione virtuale nell'oggetto.Offset of virtual function pointer in object.

SrcType
Tipo statico dell'oggetto puntato dal parametro inptr.Static type of object pointed to by the inptr parameter.

TargetType
Risultato di cast desiderato.Intended result of cast.

isReference
true se l'input è un riferimento; false se l'input è un puntatore.true if input is a reference; false if input is a pointer.

Valore restituitoReturn Value

Puntatore al sotto-oggetto appropriato, in caso di esito positivo; in caso contrario, NULL.Pointer to the appropriate sub-object, if successful; otherwise, NULL.

EccezioniExceptions

bad_cast() se l'input a dynamic_cast<> è un riferimento e il cast ha esito negativo.bad_cast() if the input to dynamic_cast<> is a reference and the cast fails.

NoteRemarks

Converte inptr in un oggetto del tipo TargetType.Converts inptr to an object of type TargetType. Il tipo di inptr deve essere un puntatore se TargetType è un puntatore o un l-value se TargetType è un riferimento.The type of inptr must be a pointer if TargetType is a pointer, or an l-value if TargetType is a reference. TargetType deve essere un puntatore o un riferimento a un tipo di classe definito in precedenza oppure un puntatore a void.TargetType must be a pointer or a reference to a previously defined class type, or a pointer to void.

RequisitiRequirements

RoutineRoutine Intestazione obbligatoriaRequired header
__RTDynamicCast__RTDynamicCast rtti.hrtti.h