struct S { void f(int); void f(double); }; void g(int); void g(double); template void foo(); template void foo(); void bar() { foo(); // ERROR - no matching function foo(); // ERROR - no matching function }