模板参数推导是否考虑了返回类型?

Har*_*ngh 4 c++ templates

我将通过"C++模板:完整指南(第二版)",第10页.

根据本书,模板参数推导不考虑返回类型.

模板演绎可以看作是重载决策的一部分.不基于选择返回类型的进程.唯一的例外是转换运算符成员的返回类型

任何示例都将有助于在演绎中考虑返回类型.

Moo*_*uck 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
Run Code Online (Sandbox Code Playgroud)