线程函数要返回一个值怎么做???
#include "stdafx.h"
#include <iostream>
#include <windows.h>
using namespace std;
DWORD WINAPI Threadfun(LPVOID lpParam)
{
int b=55;
*lpParam =(LPVOID)b;
cout<<"Sub Thread"<<*((int *)lpParam)<<endl;
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
int a= 100;
HANDLE hThread;
DWORD ThreadId;
hThread = CreateThread(NULL,0,Threadfun,&a,0,&ThreadId);
WaitForSingleObject(hThread,INFINITE);
CloseHandle(hThread);
cout<<a<<endl;
system("pause");
return 0;
}
这样编译不过啊, 提示什么非法简介寻址 ---20-
如果是一个结构体呢?----20---
[解决办法]
*(int*)lpParam =55;