Héritage, template et compilation
Bonjour,
Je suis à la recherche d'une aide pour le problème suivant.
J'ai une classe A comme suit:
Code:
1 2 3 4 5 6 7 8 9 10
|
class A
{
public:
A();
~A();
protected:
unsigned int _nbData;
}; |
Une classe B:
Code:
1 2 3 4 5 6 7 8
|
template <class T>
class B<T> : public A
{
public
B();
~B();
}; |
Et une classe C:
Code:
1 2 3 4 5 6 7 8
|
template <class T>
class C<T> : public B<T>
{
public:
C();
~ C();
}; |
Dans le code de la class C j'utilise la variable _nbData de le manière suivante:
Code:
1 2 3 4 5
|
void C::maFonction(unsigned int nb)
{
_nbData = nb;
} |
Le compilateur me renvoie la message d'erreur suivant:
Citation:
erreur: ‘_nbData’ was not declared in this scope
Ce qui signifie qu'il ne voit pas la variable pourtant héritée de la classe parente.
Bien sûr, ca compile bien avec visual studio :D
Merci pour votre aide!