Hi, I'm using gcc 3.3.6 and the following code doesn't compiles. what is happening? Thanks #include <vector> template <class T> class Templated { private: typedef std::vector<T> buf_t; class NonTemplated { public: operator typename buf_t::size_type() const; private: typename buf_t::size_type myIndex; }; }; template <class T> Templated<T>::NonTemplated::operator typename Templated<T>::buf_t::size_type() const { return myIndex; } int main() { Templated<int> tmpl; return 0; } -- Javier Andrés Mena Zapata University of Valle Cali - Colombia