在编译时,在下面的程序中抱怨应该有2个模板参数,但只有1个。
template<typename T, typename U = T,
typename = std::enable_if<std::is_convertible<std::decltype(int()), int>::value>::type>
void func(T t, U u){}
但是下面的代码编译,
template<typename T, typename U = T,
typename = std::enable_if<std::is_convertible<int, int>::value>::type>
void func(T t, U u){}
我想知道两者之间有什么区别以及如何编译这段代码。