decltype
解决了sum()的类型问题,但t1和t2并没有声明,为了解决这个问题,引入了跟踪返回类型(trailing-return-type)。template<typename T1, typename T2>
decltype(t1+t2) sum(T1 &t1, T2 &t2)
{
return t1 + t2;
}
template <typename T1, typename T2>
auto sum(T1 &t1, T2 &t2)->decltype( t1 + t2)
{
return t1 + t2;
}
auto
占位符->return_type
,即->decltype(t1+t2)
原文:https://www.cnblogs.com/fewolflion/p/12752147.html