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 (*footprint)(item)