unsigned long类型转换无效?

prehawk 2013-04-05 06:08:06
我之前的一个项目需要用到回调函数, 它的参数是DWORD_PTR 而我发现在这个空填函数名字会报错..
强制转换" (DWORD_PTR)func"就报错说类型转换无效, 继续深入研究, 无论是新建项目, 还是换另一台电脑,
这个问题依在...

后来我试了下这样:

void func(){}
DWORD_PTR temp = (DWORD_PTR)func;
unsigned long temp2 = (unsigned long) temp2;

即使是这样还是会报错......
救命啊啊啊 这什么问题啊 c的类型转换不是万能的吗,
...全文
327 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ccrun.com 2013-04-06
  • 打赏
  • 举报
回复
这要看你的回调函数的形式是如何定义的。类成员函数可以作为回调函数。
prehawk 2013-04-06
  • 打赏
  • 举报
回复
引用 2 楼 ccrun 的回复:
void func(){} 这是唱哪出?你把代码写进func的函数体内咯。
这只是函数定义的表示..我缩略了 其实后来我发现 不行的原因是因为这个函数有类限定符, 像这样:" void CMFCApplication1::func(){...}" 哎! 这么说 回调函数不能定义在类里面咯?
prehawk 2013-04-06
  • 打赏
  • 举报
回复
引用 5 楼 ccrun 的回复:
这要看你的回调函数的形式是如何定义的。类成员函数可以作为回调函数。
那应该怎样作为参数调用? 比如说一个成员函数void CMFCApplication1::func(){...} 如果参数要求是DWORD_PTR类型的话 应该是怎样写? "(DWORD_PTR)this->func" 这样是不行的
sololie 2013-04-06
  • 打赏
  • 举报
回复
ccrun.com 2013-04-05
  • 打赏
  • 举报
回复
void func(){} 这是唱哪出?你把代码写进func的函数体内咯。
prehawk 2013-04-05
  • 打赏
  • 举报
回复
btw 我用vs2012 vs2010 vc6 都不行

13,826

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧