2017-10-04 1 views
4

Je passe par "Templates C++: Le guide complet (deuxième édition)", page 10.La déduction d'argument de modèle prend-elle en compte le type de retour?

Selon le livre, la déduction d'argument de modèle ne prend pas en compte le type de retour.

Modèle La déduction peut être considérée comme faisant partie de la résolution de surcharge. Un processus qui n'est pas basé sur la sélection des types de retour. La seule exception est le type de retour des membres de l'opérateur de conversion

Tout exemple sera utile dans lequel le type de retour est pris en compte en déduction.

Répondre

5
struct A { 
    int value; 

    //conversion operator 
    template<class T> 
    operator T() {return static_cast<T>(value);} 
}; 

A a{4}; 
float f = a; //conversion from A to float