Bonjour à tous,

J'ai une classe MATRIX

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
 
template<class T>
class MATRIX
{
protected:
	unsigned int L;
	unsigned int C;
	T *Array;
public:
	MATRIX(void);
	MATRIX(const T& data);
	MATRIX(const unsigned int& l, const unsigned int& c, bool init=false);
	MATRIX(const unsigned int& l, const unsigned int& c, T *array);	
	~MATRIX(void);
	T& operator() (const unsigned int& i, const unsigned int& j) const;
	void operator= (const MATRIX& m);
.
.
.
}
et une classe fille

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 T>
class VECTOR: public MATRIX<T>
{
public:
	VECTOR(void);
	VECTOR(const unsigned int& l, bool init=false);
	VECTOR(const unsigned int& l, T *array);
	VECTOR operator() (const unsigned int& n, unsigned int *array);
	VECTOR(const T& a, const T& pas, const T& b);
.
.
.
}
Lorsque je compile mon code et par exemple la fonction

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
template<class T>
T& VECTOR<T>::operator() (const unsigned int& i) const
{
	return Array[i];
}
g++ 3.4.2 me retourne qu'il ne connaît pas Array, membre pourtant hérité de MATRIX, alors qu'une ancienne version de g++ ne me retournait pas d'erreur !!! Quelqu'un saurait-il où se trouve le problème (sûrment synthaxique) ?? Merci par avance pour votre aide.