Yeah, I ran into this once before. Instead of
int ((*fa)())();
as Robert suggests, try using this
typedef int (*FP)();
int f() {}
FP fa() { return(f); }
which seems to get by our 4.2 cc. Seems kind of ridiculous to me.
Ed Sheppard
Bell Communications Research