我可以通过使用具有类型成员的辅助结构来实现此目的,但我想知道using
是否可以实现。下面没有编译。除了使用辅助结构之外的任何变通方法吗?
template<int ...>
struct A
{
};
template<typename>
using B;
template<int n, int ...ns>
using B<A<n, ns...>> = A<ns...>;
答案 0 :(得分:1)
我自己找到了解决方案。
template<int ...>
struct A;
template<typename>
struct B_;
template<int n, int ...ns>
struct B_<A<n, ns...>>
{
typedef A<ns...> Type;
};
template<typename T>
using B = typename B_<T>::Type;