正如标题所说.以下是我的代码框架.
class CLASS
{
public:
void A();
private:
DWORD WINAPI B(LPVOID);
};
void CLASS::A()
{
DWORD (WINAPI CLASS::*thread)(LPVOID) = &CLASS::B;
...
CreateThread(NULL, 0, thread, &arg, 0, NULL);
...
}
Run Code Online (Sandbox Code Playgroud)
函数B需要CLASS的成员变量.
但是当我编译它时,我有一个错误代码.
它"无法将参数3从'DWORD(__ stdcall CLASS ::*)(LPVOID)'转换为'LPTHREAD_START_ROUTINE'"或类似的东西.
我不知道英语环境是否相同.
有人可以帮忙吗?
我想在不同的线程上运行一个具有不同参数的函数:
int threads = 3;
int par1[] = {1, 2, 3};
int par2[] = {4, 5, 6};
for (int i=0; i<threads; i++){
//new_thread function(par1[i], par2[i]);
}
Run Code Online (Sandbox Code Playgroud)
我对线程一无所知.我试图做一些Windows API(不能使用其他库),但它不起作用.我该如何实现呢?并且可以在编程时启动未知数量的线程(动态创建线程)?