Un problema forse banale.

Supponiamo che voglia implementare una funzione del tipo:

codice:
template <typename T>
void funzione( T );
Come faccio a determinare il tipo dell'argomento passato in fase di esecuzione?

Con parole più semplici: come implementare ad esempio una cosa come:

codice:
if( "tipo dell'argomento " == "int" )
{
     ... esegui determinate istruzioni
}

else if( "tipo dell'argomento " == "double" )
{
     ... esegui altre istruzioni
}

Una cosa semplice, o meglio semplicistica, ma errata sarebbe l'utilizzo dell'operatore sizeof, ma appunto è errata per evidenti motivazioni...