void foo(int * (*f)(int)); void foo(int & (*f)(int));