Bonjour,
Je suis à la recherche d'une aide pour le problème suivant.
J'ai une classe A comme suit:
Une classe B:
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; };
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 B<T> : public A { public B(); ~B(); };
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
6
7
8 template <class T> class C<T> : public B<T> { public: C(); ~ C(); };
Le compilateur me renvoie la message d'erreur suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 void C::maFonction(unsigned int nb) { _nbData = nb; }
Ce qui signifie qu'il ne voit pas la variable pourtant héritée de la classe parente.erreur: ‘_nbData’ was not declared in this scope
Bien sûr, ca compile bien avec visual studio
Merci pour votre aide!
Partager