1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
struct S { void f(int); void f(double); }; void g(int); void g(double); template <int* IP> void foo(); template <long l> void foo(); void bar() { foo<S::f>(); // ERROR - no matching function foo<g>(); // ERROR - no matching function }