1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
void f(); void f(int); namespace A{ struct S{ void f(); void f(S); }; void f(S&){} void h(S&){} } template<class T> void g(T t){ f(t); } int main() { A::S s; f(s); g(s); h(s); }