1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
namespace NS_1 { struct A {}; struct foo {}; } namespace NS_2 { template <typename T> void foo(T); template <typename T> void bar() { NS_1::A a; NS_2::foo(a); } template void bar<int>(); }