2016-07-06 70 views
1

如何使用variadic模板參數在類內使用可變參數模板參數來專門化類? I .: .:C++專門研究variadic模板裏面的可變參數模板

template < typename ... > 
struct test_class 
{ 
    template < typename ... > 
    struct s { }; 
}; 

template < > 
template < typename ... ts > 
struct test_class< ts ... >::s<int> { }; // doesn't work 

這是可能的嗎?

回答

2
template <typename...> 
struct OutsideS { 
    // ... 
}; 

template </* ... */> 
struct OutsideS</* ... */> { 
    // ... 
}; 

template <typename... Types> 
struct TestClass { 
    template <typename... OtherTypes> 
    using S = OutsideS<OtherTypes...>; 
}; 

以嵌套的方式進行專門化是不可能的,但您可以在其他位置專門化嵌套模板。