Herdando uma declaração de tipo na presença de modelos
Existe uma maneira de declarar tipos em um modelo de classe base e reutilizar essas definições no modelo de classe filho?
Por exemplo, considere a seguinte tentativa:
template <typename T_>
struct A {
using T=T_;
};
template <typename T_>
struct B: public A<T_> {
T a;
};
O compilador reclama que usando o tipoT
na definição deB
é ilegal. Ele não espera pela instanciação para ver que esse tipo é herdado de A. Portanto, existe uma maneira de declarar tipos em um modelo de classe base e reutilizar essas definições no modelo de classe filho?