the following piece of code compiles with g++-2.7.2 however, with g++ snapshot 971016 it produces the error message: bug.c: In function `void test(T &)': bug.c:17: parse error before `0' class xyz { typedef char* ptr_type; public: void func(ptr_type); }; template<class T> void test(T& x) { x.func((T::ptr_type)0); }