标签: 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继承的。那么,有没有办法在基类模板中声明类型并在子类模板中重用这些定义?
T
B