// Check that function declarations can have optional parameters, but // function types cannot. void good_cases( int start = 0, int = -1 ); // This is a slightly weird way to do it, but it let's us try all the cases // before any of the errors cause compilation to stop. void bad_cases( int (*f1)( int i = 10, int j = 5 ), int (*f2)( int = 10 ), void f3( int (*p)( int = 10 ) ), void f4( int (*)( int = 10 ) ), void f5( int (*p)( int i = 10 ) ), void f6( int (*)( int i = 10 ) ) );