是否可以在C ++中为类模板添加别名?

时间:2016-07-22 16:21:12

标签: c++

template <typename T>
struct A
{
  template <typename T1>
  struct B {};
};

template <typename T>
using b = A<T>::B;

上面一行拒绝编译。

clang给出了这个错误: 使用类模板'A&lt; T&gt; :: type'需要模板参数

1 个答案:

答案 0 :(得分:3)

因为B是模板,它应该提供模板参数

template <typename T>
struct A
{
  template <typename T1>
  struct B {};
};

template <typename T,typename  T1>
using b =   typename  A<T>::template B<T1>;