您的位置:首页 > 其它

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

2016-05-31 11:01 639 查看
函数调用缺少参数列表;请使用“&****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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: