考虑以下函数:
template<class T1, class T2, class T3 = /* SOMETHING */>
T3 f(const T1& x, const T2& y);
我想T3
等于的返回类型T1+T2
。如何用 C++11 做到这一点?
注意:我不想要 的结果std::common_type<T1, T2>::type
,我想要 的真实类型T1+T2
,考虑到operator+
可以是非成员函数或可以是 的成员函数T1
。
考虑以下函数:
template<class T1, class T2, class T3 = /* SOMETHING */>
T3 f(const T1& x, const T2& y);
我想T3
等于的返回类型T1+T2
。如何用 C++11 做到这一点?
注意:我不想要 的结果std::common_type<T1, T2>::type
,我想要 的真实类型T1+T2
,考虑到operator+
可以是非成员函数或可以是 的成员函数T1
。