函数调用缺少参数列表;请使用“&****Dlg::getThread”创建指向成员的指针”--多线程函数调用

函数调用缺少参数列表;请使用“&****Dlg::getThread”创建指向成员的指针”,


面向对象编程要求线程调用的接口必须是全局函数或静态成员函数。

1.把线程函数改为静态成员函数,

2在静态成员函数里使用类的非静态成员时,需要使用具体的类对象调用。解决办法,定义一个this指针。具体如下:

在类外面定义静态类指针

static ***Dlg *p_Dlg = NULL;

在构造函数里面初始化此指针为this,然后用指针来调用已有的方法和成员变量

***Dlg::***Dlg(CWnd* pParent /*=NULL*/)  

 : CDialogEx(CMFCcodeDlg::IDD, pParent)   
{  
    p_Dlg= this;  
}  

在线程里面就可以应用 p_Dlg->的方式来调用方法和成员变量了。

3.线程函数调用,在类里面声明变量CWinThread *pThread;

4.在响应函数里面添加如下语句调用线程:

pThread=AfxBeginThread(AFX_THREADPROC(getThread),0,0,CREATE_SUSPENDED,0)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值