函数调用缺少参数列表;请使用“&****Dlg::getThread”创建指向成员的指针”--多线程函数调用
2016-05-31 11:01
801 查看
函数调用缺少参数列表;请使用“&****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在静态成员函数里使用类的非静态成员时,需要使用具体的类对象调用。解决办法,定义一个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)
相关文章推荐
- JAVA 对象深度复制实现
- 用vs的devenv.com命令行 自动编译 程序
- cocoapods安装
- leetcode 23. Merge k Sorted Lists
- OpenGLES---获取设置Shader值 API
- [G+smo]细分网格时控制点的排序
- Delphi中的布尔类型
- Andriod Studio 背景设置成主流背景
- c++中[Error] 'cin' was not declared in this scope 是什么意思
- C/C++中static关键字详解
- "House Robber" and "House Robber III"
- getHibernateTemplate用法
- 快消行业如何营销?
- STL运用的C++技术(5)——重载操作符
- iOS 支持 IPv6
- sqlserver 创建用户 sp_addlogin
- 为什么有人不喜欢标准成本?
- 2016-5-30 代码Review问题总结
- 【Android基础】二、网络编程
- 如何在JSP页面中设置断点,调试代码?