//#include #include namespace std { namespace tr1 { template class A { public: void f() { std::cout << "I am std::tr1::A::f()" << std::endl; } }; template <> void A::f() { std::wcout << L"I am std::tr1::A::f()" << std::endl; } } } namespace std { using std::tr1::A; } int main( void ) { std::A a; a.f(); return 0; }