C++ std::使用wsocket32的线程问题

C++ std::使用wsocket32的线程问题,c++,multithreading,sockets,winsock2,C++,Multithreading,Sockets,Winsock2,对不起,这个标题太差了,我不知道该给它取什么名字,因为我不知道问题出在哪里 我正在为研究生院做一个项目,我正在使用教授提供的一个图书馆,但它不起作用,也没有得到他的回复 提供的库称为Sockets。在这个项目中有一个SocketListener类。此类包含一个start()方法。在这个方法中,它使用std::thread调用传入的CallableObj(Functor、lambda或函数ptr) 包括:。正如我得到的一些错误(任何处理std::thread objs的代码): 基本上,它不知道s

对不起,这个标题太差了,我不知道该给它取什么名字,因为我不知道问题出在哪里

我正在为研究生院做一个项目,我正在使用教授提供的一个图书馆,但它不起作用,也没有得到他的回复

提供的库称为
Sockets
。在这个项目中有一个
SocketListener
类。此类包含一个
start()
方法。在这个方法中,它使用std::thread调用传入的
CallableObj
(Functor、lambda或函数ptr)

包括:
。正如我得到的一些错误(任何处理std::thread objs的代码):

基本上,它不知道std::thread是什么,但这是我的代码,它应该按照提供的方式工作

我注意到
#include
没有包括在内,所以我添加了它,现在我在一个名为xthread.h的文件中得到了不同的错误,它不是我的文件之一,所以我认为我不应该在这里得到错误

- C2893 Failed to specialize function template 'unknown-type std::invoke(_Callable &&,_Types &&...) noexcept(<expr>)'
- C2672 'std::invoke': no matching overloaded function found
-C2893未能专门化函数模板“未知类型std::invoke(_Callable&&,_Types&&…)noexcept()”
-C2672“std::invoke”:未找到匹配的重载函数

我将对此帖子进行任何更改并提供任何需要的数据,请尊重并提问。

请。似乎有缺失,包括代码> >代码>和其他或缺少的编译器选项>代码> -STD= C++ 14 或11 .XTr.h是VisualC++标准库内部的文件,您可能会在这里出错,但它们几乎肯定是由于您提供的代码而不是库本身。查找错误消息并检查不是标准库一部分的第一段代码(您的代码或教授的代码-很可能错误在教授的代码中,但也可能是由于您提供的参数造成的)。@Soronelhatir我正在向函数Start()传递lambda:
auto myLambda=[&](){//some code here};socketListener.Start(myLambda)
professor code(co是我传入的可调用对象):
std::thread ListenThread([&](){std::thread clientThread(std::ref(co),std::move(clientSocket));}
- C2893 Failed to specialize function template 'unknown-type std::invoke(_Callable &&,_Types &&...) noexcept(<expr>)'
- C2672 'std::invoke': no matching overloaded function found