我在结构中有一个函数指针,它有一个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/

10-09 05:36
查看更多