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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:
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