我對std :: enable_if的第二個參數感到困惑。 在使用int類型的返回類型,我們可以把它用:std :: enable_if的第二個參數有什麼用?
template <class T>
typename std::enable_if<mpi::is_builtin<T>::value, int>::type
foo() { return 1; }
但我怎麼能在的參數或模板中使用enable_if?在這種情況下,以下功能有什麼不同:
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; }
謝謝。
插件:http://flamingdangerzone.com/cxx11/2012/06/01/almost-static-if.html –