'identifier' : cannot deduce template argument as function argument is ambiguous
An attempt to deduce a template argument from an overloaded function has led to ambiguity. The compiler cannot determine which of the overloaded functions to use.
The following code will generate this error:
void f(int);
void f(double);
template<class T> void g(void (*) (T));
void h() { g(f); }