1 class S 2 { 3 int (*fnptr0)(double); 4 // distinct kinds 5 void* fnptr1; 6 int fnptr2; 7 8 }; 9 foo(S s)10void foo(S s) 11 { 12 } 13 14 typedef void(*callback)(int); 15 fn0(void)16callback fn0(void) 17 { 18 } 19 fn1(void)20int(*fn1(void))(int) 21 { 22 } 23 fn2(callback c)24void fn2(callback c) 25 { 26 } 27 28