struct aaa { __rectype *child; }; __code test() { struct aaa b; } struct interface { __code (*next)(struct interface); }; #include #include __code csB() { exit(0); } __code print(struct interface p) { puts("hello"); exit(0); } __code csA(struct interface p) { struct interface ds = { csB }; goto p.next(ds); // goto p.next(3); // error } int main() { struct interface ds = { print }; goto csA(ds); return 0; }