我在结构中有一个带有void *参数的函数指针。 我想把这个函数传递给另一个函数,但是我得到编译错误......
这是结构中的函数声明:
void (*on_click)(void *);
这就是我将函数指针传递给我的函数的方法,其中box是一个结构:
but1 = create_button(posbut, "test", BUTTON_DEF, &on_click((void *)box));
我有错误:无法转换为指针类型,并且此行上需要左值作为一元'&'操作数。
谢谢!
答案 0 :(得分:1)
您必须传递函数指针,如 1 :
but1 = create_button(posbut, "test", BUTTON_DEF, on_click);
我不知道您使用的是哪个框架,所以我不知道是否还有其他参数必须传递给create_button
,但大多数可能create_button
将是那个使用正确的参数调用函数指针。
<强> fotenotes 强>
前提是create_button
的最后一个参数是void (*callback)(void*)