#include <iostream>
namespace foo
{
void print(int x)
{
std::cout << "int=" << x << std::endl;
}
}
namespace bar
{
void print(float y)
{
std::cout << "float=" << y << std::endl;
}
}
template<typename T>
void doit(T x)
{
using foo::print;
using bar::print;
print(x);
}
int main() {
doit(5);
doit(1.0f);
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgoKbmFtZXNwYWNlIGZvbwp7Cgl2b2lkIHByaW50KGludCB4KQoJewoJCXN0ZDo6Y291dCA8PCAiaW50PSIgPDwgeCA8PCBzdGQ6OmVuZGw7Cgl9Cn0KCm5hbWVzcGFjZSBiYXIKewoJdm9pZCBwcmludChmbG9hdCB5KQoJewoJCXN0ZDo6Y291dCA8PCAiZmxvYXQ9IiA8PCB5IDw8IHN0ZDo6ZW5kbDsKCX0KfQoKdGVtcGxhdGU8dHlwZW5hbWUgVD4Kdm9pZCBkb2l0KFQgeCkKewoJdXNpbmcgZm9vOjpwcmludDsKCXVzaW5nIGJhcjo6cHJpbnQ7CglwcmludCh4KTsKfQoKCmludCBtYWluKCkgewoJZG9pdCg1KTsKCWRvaXQoMS4wZik7CglyZXR1cm4gMDsKfQ==