如何使用可变参数模板参数在具有可变参数模板参数的类中专门化类?即:
template < typename ... >
struct test_class
{
template < typename ... >
struct s { };
};
template < >
template < typename ... ts >
struct test_class< ts ... >::s< int > { }; // doesn't work
这甚至可能吗?
答案 0 :(得分:2)
template <typename...>
struct OutsideS {
// ...
};
template </* ... */>
struct OutsideS</* ... */> {
// ...
};
template <typename... Types>
struct TestClass {
template <typename... OtherTypes>
using S = OutsideS<OtherTypes...>;
};
无法以嵌套方式对其进行专门化,但您可以在其他位置专门化嵌套模板。