/* * It is known that this code not compiled by following compilers: * gcc 2.95.3 * MSVC 6 * * It is known that this code compiled by following compilers: * gcc 3.3.3 * gcc 3.4.1 * MSVC 8 Beta */ struct A { private: struct B { template static void f( T& ) {} template struct C { template static void f( T& ) {} }; }; }; template <> template void A::B::C::f( T& ) {}