Bonjour,
Je dois porter sous g++ du code compilant sous un compilateur Intel (icpc). Or une erreur se produit lorsque j'essai de compiler le code suivant :
Le problème se pose lors de l'utilisation de la variable membre1 dans la classe C. En effet, g++ me donne alors l'erreur de compilation suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 template <typename T> class A { public: ... protected: int membre1; }; template <typename T> class B : public A<T> { using A<T>::membre1; public: ... protected: ... }; template <typename T> class C : public B<T> { using B<T>::membre1; public: ... protected: ... };
(N.B. : le problème ne semble pas se poser pour la classe B, ce qui me parrait normal)
Code : Sélectionner tout - Visualiser dans une fenêtre à part erreur: « int A<unsigned char>::membre1 » est protégé
Si quelqu'un a une solution, je suis preneur.
Merci d'avance.
Partager