在存在模板的情况下继承类型声明

时间:2015-11-29 17:49:52

标签: c++ templates c++11 inheritance

有没有办法在基类模板中声明类型并在子类模板中重用这些定义?

例如,请考虑以下尝试:

template <typename T_>
struct A {
    using T=T_;
};

template <typename T_>
struct B: public A<T_> {
    T a;
};

编译器抱怨在T的定义中使用类型B是非法的。它不等待实例化以查看此类型是从A继承的。那么,有没有办法在基类模板中声明类型并在子类模板中重用这些定义?

0 个答案:

没有答案