class S
{
int (*fnptr0)(double);
// distinct kinds
void* fnptr1;
int fnptr2;
};
void foo(S s)
}
typedef void(*callback)(int);
callback fn0(void)
int(*fn1(void))(int)
void fn2(callback c)