Hi Axel, first read http://gcc.gnu.org/gcc-3.4/changes.html (C++ section) http://gcc.gnu.org/develop.html#timeline which indicates that gcc implements this rule since Apr 18 2004 then see my suggestion below > I have a problem with a derived template class. It seams that all the > members of the base class are not visible in the derived class. If I then > make an instance of the derived class, I can access all members of the > derived and the base class ?? > > I'm using the CodeSourcery gcc4.4.1 (tried also 4.3.3, 4.3.2) to compile > the following. > > Im sorry, my english is not very good, so please have a look at the > sourecode: > > > template <int N> class TBase { > public: > int Array[N]; > int fb1() { return Array[0]; }; > }; // everything is OK in TBase > > template <int NN> class TDerived : public TBase<NN> { > int UU; > public: > int fc2() { return Array[0]; }; // error: 'Array' was not declared > in this scope int fc3() { return UU; }; // OK > int fc4() { return fb1(); }; // error: .... 'fb1' must be > available }; prefix the ones from TBase with this this->Array[0]; this->fb1(); Regards Andre