让成员函数能作为rt_device中的回调函数

发布于 2020-07-31 15:30:41

f6ce8d133f8f1f5d4e7034a35c3a81d2.jpg

如果想将c++类中的成员函数添加到rt_device的回调函数中是行不通的,因为要传到this指针,导致类型不匹配。这可以用静态方法来实现,但是将会导致不能将对象的指针(this)传到回调函数里。如果仍然希望该静态方法有着类似成员函数的特性,可以在绑定回调函数时,将对象指针作为参数传进去。在静态方法中解析出rt_device中的对象指针。
这仅仅需要在rt_device中再加一个void* 指针,就可以弥补c++不能将成员函数传到回调函数中的问题了。

查看更多

关注者
0
被浏览
68
2 个回答
vitocc
vitocc 4 days ago

成员函数做回调函数真的是一个头疼的事,希望在所有的回调函数里,都给个参数指针用来传递this

JQRR_7669
JQRR_7669 认证专家 4 days ago

试试能否可以使用静态函数加静态指针变量的方式解决,将this指针赋值给静态指针,然后就可以在静态回调函数中使用了

撰写答案

请登录后再发布答案,点击登录

发布
问题

分享
好友