Bonjour,

Je suis à la recherche d'une aide pour le problème suivant.

J'ai une classe A comme suit:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
class A
{
public:
A();
~A();
 
protected:
unsigned int _nbData;
};
Une classe B:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
template <class T>
class B<T> : public A
{
public
B();
~B();
};
Et une classe C:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
void C::maFonction(unsigned int nb)
{
_nbData = nb;
}
Le compilateur me renvoie la message d'erreur suivant:
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

Merci pour votre aide!