Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Boost ASIO异步\u接受编译失败_C++_Sockets_Boost_Bind_Boost Asio - Fatal编程技术网

C++ Boost ASIO异步\u接受编译失败

C++ Boost ASIO异步\u接受编译失败,c++,sockets,boost,bind,boost-asio,C++,Sockets,Boost,Bind,Boost Asio,男人。。。认为在Boost中使用ASIO将是简单直观的P 我终于开始明白了,但我遇到了一些麻烦。这里有一个片段。 我在async_accept行上有几个编译器错误。我做错了什么P 我的代码基于此页面: 错误: 错误1错误C2780:“无效 boost::asio::basic\u socket\u acceptor::async\u accept(boost::asio::basic\u socket &,boost::asio::ip::basic\u端点 &,AcceptHandler')

男人。。。认为在Boost中使用ASIO将是简单直观的P

我终于开始明白了,但我遇到了一些麻烦。这里有一个片段。 我在async_accept行上有几个编译器错误。我做错了什么P

我的代码基于此页面:

错误:

错误1错误C2780:“无效 boost::asio::basic\u socket\u acceptor::async\u accept(boost::asio::basic\u socket &,boost::asio::ip::basic\u端点 &,AcceptHandler'):应为3 论点-2 提供的e:\schoolcode\senior project\cpluplusport\cpluplusport\alexsocket.cpp 36

错误2错误C2784:“无效 boost::asio::basic\u socket\u acceptor::async\u accept(boost::asio::basic\u socket &,AcceptHandler'):无法推断 的模板参数 'boost::asio::basic_套接字 &“from”boost::asio::ip::tcp::socket *'e:\schoolcode\senior project\cpluplusport\cpluplusport\alexsocket.cpp 36


async_accept需要对套接字的引用,而不是指针,因此请重试

acceptor->async_accept(*tempNewSocket, ...

给我们更多的信息。您绑定到
AlexSocket::NewConnection
,并将
this
作为第一个参数-但据我所知,
this
不是一个
AlexSocket
-是吗?新的连接方法是虚拟的吗。当我在编写学习代码时,我试图去掉我在所有类中添加的愚蠢的“MyName”前缀我认为第一个参数必须是*tempNewSocket。请将您遇到的错误添加到问题中。没有这些,我们只能猜测您有哪些错误。添加了错误。为疏忽道歉。:)@我建议你使用智能指针。尽可能避免直接呼叫new。
acceptor->async_accept(*tempNewSocket, ...