C++无法将类的成员函数赋值给一般的函数指针,解决方案

发布时间 2023-08-18 14:51:53作者: 图图雷

遇到需要绑定回调函数的API接口。
看了定义的函数指针,是静态的函数指针,将非静态的类成员函数赋值过去的时候,无法编译通过。
将成员函数改成静态又得将整个类的内容都改成静态。
这种情况下,可以构造匿名函数,引用this,这样可以在类中,将自己的成员函数赋值给需要的函数指针类型上:

server.callback = [this](const XXX data){OnCallback(data);};