[GCC] erreur compilation avec dérivation + template
Bonjour,
Je viens de passer de Windows a Linux et donc de VC++ a gcc et je suis etonné de voir que le code suivant compile avec VC++ mais pas avec gcc:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
template <class X>
class A
{
protected:
int i;
};
template <class X>
class B: public A<X>
{
puclic:
void f() { i=0;}
}; |
L'erreur est : "error: `i' undeclared (first use this function)" (sur la ligne "void f() { i=0;}"). Si on enleve les templates ca marche evidemment, de meme si on ecrit:
Code:
void f() { A<X>::i=0;}
Mais je trouve cette dernière solution un peu pénible. Aurais-je loupé quelque chose ? Il y a-t-il une option mistique de gcc a activer ?
Vorl