我正在尝试从新线程调用一个函数。该函数需要一堆参数。
std::thread signingThread(curlWrapper->SendDataToServer,username, password, serverURL, data);
这是函数原型
int LibCurlWrapper::SendDataToServer(const std::string& username, const std::string& password, const std::string& serverURL, const std::vector<unsigned char> &vData)
编译器错误
错误:没有匹配函数来调用&#39; std :: thread :: thread(,std :: string&amp;,std :: string&amp;,std :: string&amp;,std :: vector&amp;)&# 39; std :: thread signingThread(curlWrapper-&gt; SendDataToServer,用户名,密码,serverURL,数据);
答案 0 :(得分:2)
您需要为std::thread
指定一个功能,而curlWrapper->SendDataToServer
则不能。 (虽然curlWrapper->SendDataToServer()
表示在SendDataToServer()
上致电curlWrapper
。)
将其更改为:
std::thread signingThread(&LibCurlWrapper::SendDataToServer, curlWrapper, username, password, serverURL, data);