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 :

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:
    ...
};
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
erreur: « int A<unsigned char>::membre1 » est protégé
(N.B. : le problème ne semble pas se poser pour la classe B, ce qui me parrait normal)

Si quelqu'un a une solution, je suis preneur.
Merci d'avance.