77问答网
所有问题
用CreateThread创建的线程服务子程序如MyProc可以写成自定义的类的一个成员函数吗
如题,小弟正自学编程,遇到这样的问题,写成全局函数没事,写到自己的类里面编译会出错。
谢谢!
举报该问题
推荐答案 2010-07-22
写到自己的类里面肯定会出错的,因为类只是定义了一种数据结构,在内存地址中并不存在,只有在声明了类的对象之后,才会在内存地址中拥有该类对象所拥有的数据成员和成员函数地址。传递给CreateThead函数的参数必须是能够调用的函数,传递的是该函数的首地址,在类中声明的函数不存在于内存地址中,因此无法调用。
可以声明一个类的对象,然后传递类的对象的成员函数
另外一种方法是声明一个静态成员函数,利用 类名::函数名 这种方法实现
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://77.wendadaohang.com/zd/G3pqYqIIW.html
相似回答
C/C++
多线程
问题?
答:
return 0;} C语言中直接调用线程就是CreateThread(&thread_
proc
, ...)即可 因为C++的类是在运行阶段分配地址,而不是在编译阶段分配地址,所以要想在
类函数
中声明线程,就必须强制把
线程成员函数
设置为编译阶段就分配地址,这样才能绑定到WINDOWS API的
CreateThread函数
上去,这种方式叫做static.之所以保存线...
利用互斥对象实现
线程
同步实例,并把线程设计成
一个
类,但是报错了,作业...
答:
请将 Fun
Proc
定义
为静态成员方法。类的非静态成员方法不能作为C式回调的参数的。
如何
使用
AfxBegin
Thread创建
MFC
线程
对象和Win32线程对象
答:
编写一个耗时的单
线程程序
:
新建一个
基于对话框的应用程序SingleThread,在主对话框IDD_SINGLETHREAD_DIALOG添加一个按钮,ID为IDC_SLEEP_SIX_SECOND,标题为“延时6秒”,添加按钮的响应函数,代码如下:void CSingleThreadDlg::OnSleepSixSecond(){Sleep(6000); //延时6秒} 编译并运行应用程序,单击“延时6秒”按钮,...
大家正在搜
如何在一个vhdl创建两个子程序
raptor创建子程序的窗口
python主程序调用子程序
Halcon如何创建子程序
python子程序创建
halcon如何调用子程序
在java中怎样创建一个线程
创建一个新线程的方法
keil如何创建子程序