用别人的C++库,里面有一个需要传回调函数的函数,怎么在调用那个函数时给回调函数传一个自己的数据

用别人的C++库,里面有一个需要传回调函数的函数,怎么在调用那个函数时给回调函数传一个自己的数据求示例... 用别人的C++库,里面有一个需要传回调函数的函数,怎么在调用那个函数时给回调函数传一个自己的数据
求示例
展开
 我来答
匿名用户
2016-06-06
展开全部
给你三个思路。1.类成员函数不能作为回调函数的主要原因在于类成员函数使用__thiscal参数传递方式,因此需要调用者(caller)通过ecx寄存器提供类对象的指针。而回调函数使用__stdcall参数传递方式,不具备这个特点。所以想法在类成员函数被调用之前设置好ecx寄存器,就能在__stdcall调用的基础上模拟出一个完好的__thiscall调用。2.使用静态成员函数,静态成员函数不使用this指针作为隐含参数,这样就可以作为回调函数了。3.不使用成员函数,直接使用普通C函数,为了实现在C函数中可以访问类的成员变量,可以使用友元操作符(friend),在C++中将该C函数说明为类的友元即可。这种处理机制与普通的C编程中使用回调函数一样。
匿名用户
2016-06-06
展开全部
为什么要这样?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式