Herança de modelo e uma variável de membro base
Eu recebo um erro estranho ao tentar usar a herança de modelo. Este é o meu código:
template <class T> class A {
public:
int a {2};
A(){};
};
template <class T> class B : public A<T> {
public:
B(): A<T>() {};
void test(){ std::cout << "testing... " << a << std::endl; };
};
E este é o erro:
error: use of undeclared identifier 'a'; did you mean 'std::uniform_int_distribution<long>::a'?
void test(){ std::cout << "testing... " << a << std::endl; }
E, caso isso possa afetar algo, eu uso essas bandeiras:
-Wall -g -std=c++11
Realmente não sei o que está errado, pois o mesmo código que as classes puras sem o modelo funciona bem.