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 –