调试遇到的问题

nevdongdong 2010-05-01 10:03:04
CPreParent Dlg;
Dlg.SetCallBackFun(DrawInfo,PrnInfo);
Dlg.DoModal();
这段代码,在调试的时候报错
error C2664: 'SetCallBackFun' : cannot convert parameter 1 from 'void (class CDC &,PRNINFO)' to 'void (__cdecl *)(class CDC &,PRNINFO)',None of the functions with this name in scope match the target type


有谁帮帮小菜我...
...全文
157 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
尹成 2010-05-02
  • 打赏
  • 举报
回复
函数SetCallBackFun(DrawInfo,PrnInfo);的参数DrawInfo应该是CDC类的对象,你看此处你的DrawInfo符合要求吗?
uc_fly 2010-05-02
  • 打赏
  • 举报
回复
Dlg.SetCallBackFun的详细参数列表是???

还有DrawInfo函数是全局函数还是某个类的成员函数?

不同情况,写法是不一样的。
疯癫小程序 2010-05-02
  • 打赏
  • 举报
回复
DrawInfo改成全局函数或静态成员函数就OK了。。。你这里的DrawInfo函数可能是 回调函数 而回调函数必须在运行前就分配空间,因为操作系统要调用。。。
昨夜无风 2010-05-02
  • 打赏
  • 举报
回复
SetCallBackFun是要设置一个回调函数,就是一个函数指针,你光填参数是没用的。

1.先定义一个全局函数或者一个static成员函数:
void thisCallbackFunc(CDC &Dc,PRNINFO info)
{
........
}

2.Dlg.SetCallBackFun(thisCallbackFunc);
tuo_li 2010-05-01
  • 打赏
  • 举报
回复
顶 学习一下
Eleven 2010-05-01
  • 打赏
  • 举报
回复
看他的错误说明void (class CDC &,PRNINFO)
第一个参数是CDC的对象??DrawInfo应该是CDC类的对象,不是函数
用户 昵称 2010-05-01
  • 打赏
  • 举报
回复
这应该是编译时的错误。

主要原因是DrawInfo这个函数,可能是需要一个全局的函数。

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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