typedef struct Item{
int i;
int j;
void (*fooprint)(item*);
}item;
void fooprint(item *it){
printf("%d\n",it.i);
}
int main(){
item myitem;
myitem.i=10;
myitem.j=20;
myitem.fooprint = fooprint;
myitem.fooprint(&myitem);
return 0;
}
このコードは、void ( footprint)(item ) でエラーを出します。「'*' トークンの前に ')' があるとエラーが発生します」。何か不足していますか?構造体へのポインタを使用せずに同じことをするとうまくいきます。例 : void (*フットプリント)(項目)