大佬教程收集整理的这篇文章主要介绍了c – 函数指针 – 模糊符号错误,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想做的是如下.
>使用AddData向我的类添加数据,返回一个函数指针,然后我可以传递给dll中的“另一个”函数.
>然后这个’其他’函数调用我的回调函数
我的课就是这样.
typedef void (*DataReceivedCallBACk)(int,@R_197_10185@; class MyClass { MyClass(); ~MyClass(); void AddData(int sourcEID,DataReceivedCallBACk &callBACk); static void MyCallBACkFunction(int var1,int var2); }; void MyClass::AddData(int sourcEID,DataReceivedCallBACk &callBACk) { callBACk = &MyCallBACkFunction; } void MyClass::MyCallBACkFunction(int var1,int var2 ) { //do something blah blah }
然后我可以这样做:
int main() { DataReceivedCallBACk callBACk; MyClass->GeTinstance()->AddData(1,callBACk); callBACk(1,100); }
当我单步执行此操作时,我看到我确实踏入了回调MyCallBACkFunction,这就是我想要的:)
我现在想要做的是将main中定义的’callBACk’传递给一个将回调到我的回调函数的dll函数.
我有dll的代码所以我想修改一个如果它的函数,以便它接受我的回调函数参数.
我在dll函数签名中这样做:
void * someDllFunction( int var1,int var2,DataReceivedCallBACk& callBACk) { callBACk(2,200); }
但我得到错误:
错误C2872:’DataReceivedCallBACk’:模糊符号
我怎么解决这个问题?
这是否与仅允许跨dll边界使用c样式参数有关?
以上是大佬教程为你收集整理的c – 函数指针 – 模糊符号错误全部内容,希望文章能够帮你解决c – 函数指针 – 模糊符号错误所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。