我在结构中有一个函数指针,它有一个void*参数。
我想把这个函数传递给另一个函数,但是我得到编译错误。。。
这是结构中的函数声明:
void (*on_click)(void *);
这就是我如何将函数指针传递给我的函数,其中box是一个结构:
but1 = create_button(posbut, "test", BUTTON_DEF, &on_click((void *)box));
我有一个错误:无法转换为指针类型,这一行上的一元操作数'&'需要左值。
谢谢!
最佳答案
必须像这样传递函数指针1:
but1 = create_button(posbut, "test", BUTTON_DEF, on_click);
我不知道您使用的是哪个框架,所以我不知道是否还有其他参数需要传递给
create_button
,但最合适的create_button
将是用正确的参数调用函数指针的参数。马蹄铁
如果
create_button
的最后一个参数是avoid (*callback)(void*)
关于c - 将带有空指针参数的函数指针传递给函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49312420/