我对 std::enable_if 的第二个参数感到困惑。在使用 int 的返回类型时,我们可以使用:
template <class T>
typename std::enable_if<mpi::is_builtin<T>::value, int>::type
foo() { return 1; }
但是如何在参数或模板中使用 enable_if 呢?在这种情况下,下面的too函数有什么区别:
template<class T ,
class = typename std::enable_if<std::is_integral<T>::value>::type >
T too(T t) { std::cout << "here" << std::endl; return t; }
int too(int t) { std::cout << "there" << std::endl; return t; }
谢谢。