How does C++ handle function pointers in relation to functions with defaulted parameters?
If I have:
void foo(int i, float f = 0.0f); void bar(int i
Both foo() and bar() can only be assigned to func_ptr2.
foo()
bar()
func_ptr2
§8.3.6/2:
A default argument is not part of the type of a function. [Example:
int f(int = 0); void h() { int j = f(1); int k = f(); // OK, means f(0) } int (*p1)(int) = &f; int (*p2)() = &f; // error: type mismatch
--end example]