“std::invoke”: 未找到匹配的重载函数
代码:
void RecData(SOCKETsockClient)
{
char revBuf[1504];
int byte = 0;
while (1)
{
//WaitForSingleObject(hMutex, INFINITE);
byte= recv(sockClient,revBuf, strlen(revBuf) + 1, 0);//服务器从客户端接受数据
if (byte <= 0)
{
break;
}
printf("%s\n", revBuf);
Sleep(10);
//ReleaseMutex(hMutex);
}
closesocket(sockClient);//关闭socket,一次通信完毕
}
std::thread t1(RecData, sockConn);
原因:sockConn是指针类型,但是RecData是对象类型,不匹配造成的
解决方法:RecData参数换成指针类型或者改t1参数为对象类型