新手求助:主应用程序调用dll回调函数问题

 

 

新手求助:主应用程序调用dll回调函数问题编译主程序时,老是报错:
cannot convert 'int (* (_closure )()()' to 'int(*)()'
type mismatch in parameter 1 (wanted 'int(*)()',got 'void')
请问各位大大,这到底是什么原因啊
C/C++ code

//主应用程序
HINSTANCE ins;
ins = LoadLibrary("./dll/dllTalk.dll");
try
{
if(ins == NULL)
throw MyException("Can't Load Library!");

FARPROC lpFarProc; //回调函数未成功
lpFarProc = GetProcAddress(ins,"call");
if(lpFarProc == NULL)
{
FreeLibrary(ins);
throw MyException("Can't Get dd Address!");
}
typedef int (*pfv)();

typedef void (* pt)(pfv);
pt aFunc = (pt)lpFarProc;
aFunc(test1); //出错在这里
if(!FreeLibrary(ins))
{
throw MyException("Can't Free!");
}
}
catch (MyException &myException)
{
ShowMessage(myException.test);
}
………………
int test1()
{
return 0;
}

//dll程序
extern "C" __declspec(dllexport) void __stdcall call(int (*CallBack)())
{
CallBack();
}










文章作者:中国程序员交流社区

本文地址:http://www.51dzsw.cn/seo171803.html

版权所有 © 转载时必须以链接形式注明作者和原始出处!2,359




« wince驱动开发
本人用VB开发了个可以ftp上传和下载的activex控件,需要的留下email,希望与大家共享 »
网友留言
2012-2-12 4:03:35
to 妖哥
少了一个错误了
现在还是报cannot cast from 'int (* (_closure )())()' to 'void (*)(int (*)())'
搞不懂了,我把pt换成pfv,也报错
2012-2-12 4:10:05
你的test1不会是类成员函数吧。
2012-2-12 4:11:04
是定义成类成员函数了哦,要怎么改啊
2012-2-12 4:16:28
to 妖哥,还是你猛
把test1拿出来就ok了,多谢大大

刷新


博客作者

分类目录
最新评论

最近文章
Tag cloud
Meta
注册
登录
置顶
seo

版权所有 2010 中国程序员交流社区,技术交流,网络营销策 Valid and CSS 3 28querys in 1.430 seconds.
| 陶瓷焊补 | 小型玻璃磨边机 stcn博客 yoka博客 diglog博客 iresearch博客 readnovel博客 chinabyte博客 baidu博客 sohu博客 17u博客 pclady博客 yaolan博客 ifensi博客 stnn博客 天涯博客
Theme Designed by 玻璃
站长统计  

 

TAG:

评论加载中...
内容:
评论者: 验证码:
  

 

技术支持
点击这里给我发消息
业务咨询
点击这里给我发消息