gpt4 book ai didi

c++ - 错误 : converting from ‘void (FlashWork::*)(int, siginfo_t*, void*)’ to ‘void* (*)(int, siginfo_t*, void*)’

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:30:55 30 4
gpt4 key购买 nike

我是一名 C 程序员(在 linux 上),但现在我有一个关于 C++ 的项目,并且有一个问题。

这里是示例代码

g_action.sa_sigaction = (void(*)(int,siginfo_t*,void*))&FlashWork::Disconnect_action; 

当我尝试在 x86 上编译它时,它工作正常,但在 arm 上我得到以下错误

error: converting from void (FlashWork::*)(int, siginfo_t*, void*) to void (*)(int, siginfo_t*, void*)

我做错了什么?

最佳答案

“指向成员的指针”与“指向函数的指针”不兼容,除非它是一个static 成员。原因是在您的情况下,指向成员的指针需要一个对象(FlashWork 对象)。

关于c++ - 错误 : converting from ‘void (FlashWork::*)(int, siginfo_t*, void*)’ to ‘void* (*)(int, siginfo_t*, void*)’ ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9925310/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com