2 ljwbupt ljwbupt 于 2016.04.12 23:47 提问

C++ 线程必须返回一个值

C++入门选手,学习线程时写了一小段代码,如下

```#include "stdafx.h"
#include

#include

using namespace std;

DWORD WINAPI Fun1(LPVOID lpParamter)
{
char* buf = (char *)lpParamter;
cout << int(buf) << endl;
Sleep(1000);
}

int main()
{
HANDLE hThread[2];
for (int i = 0; i < 2; i++) {
hThread[i] = CreateThread(NULL, 0, Fun1, (LPVOID)i, 0, NULL);
}
cout << "3" << endl;

Sleep(5000);
for (int i = 0; i < 2; i++) {
TerminateProcess(hThread[i],0);
CloseHandle(hThread[i]);
}
return 0;
}


在VS2015编译时报错,说“Fun1”: 必须返回一个值, 请问各位大神这是什么意思?我这程序应该怎么改?

2个回答

devmiao
devmiao   Ds   Rxr 2016.04.12 23:49
已采纳

DWORD WINAPI Fun1(LPVOID lpParamter)
{
char* buf = (char *)lpParamter;
cout << int(buf) << endl;
Sleep(1000);
return 0;
}

ljwbupt
ljwbupt 大神已经拯救我多次了,感动哭了
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.04.12 23:52

执行更新版本获取服务器连接必须开启一个新的线程
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!