Ich bekomme einen seltsamen Fehler beim Versuch, Vorlage Vererbung zu verwenden. Dies ist mein Code:Vorlage Vererbung und eine Basiselementvariable
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; };
};
Und das ist der Fehler:
error: use of undeclared identifier 'a'; did you mean 'std::uniform_int_distribution<long>::a'?
void test(){ std::cout << "testing... " << a << std::endl; }
Und falls könnte sich dies etwas nutze ich diese Flags:
-Wall -g -std=c++11
ich nicht wirklich tun wissen, was falsch ist, da der gleiche Code wie reine Klassen ohne Templating funktioniert. Diese
'Leere Test() {std :: cout << "Test ..." << A :: a << std :: endl; }; ' –
Rerito