This answer根据模板参数的数量为重载模板类提供了C++11
解决方案。
但是,这种方法似乎只有在新模板参数是类型时才有效,这意味着
template <typename ... Ts> struct awesome;
template <typename T, typename U> struct awesome<T, U> {};
template <typename T, unsigned int I, typename U> struct awesome<T, I, U> {};
int main() {
awesome<int,float> aw;
awesome<int,42,float> aw2;
}
does not compile。可以使用不同的方法实现期望的行为吗?