#include #include namespace upp { template struct ImTest { // friend void Foo(T& x) {} }; struct string { int x; }; }; template struct ImTest2 { public: friend void Foo(T& x) {} }; using namespace upp; using namespace std; CONSOLE_APP_MAIN { // upp::ImTest alfa; upp::string x; std::string y; // ImTest2 beta; // int x; /// Foo(x); // double y; // Foo(y); }