namespace ns1
{
template <class T>
void f(T)
{
cout << typeid(T).name() << endl;
}
};
using namespace ns1;
namespace ns2
{
void f(int)
{
cout << "int" << endl;
}
void test()
{
f(vector<int>()); // Error!
// Why not call ns1::f<vector<int>>(vector<int>()); ???
}
};