Reading this, I got the impression that this code should work:
class Connection : public std::enable_shared_from_this<Connection>
{
public:
Connection(tcp::socket&& socket) : socket_(std::move(socket)) {}
private:
tcp::socket socket_;
};
But the compiler issues this error in the constructor:
Call to implicitly-deleted copy constructor of 'tcp::socket' (aka'basic_stream_socket<boost::asio::ip::tcp>')
I have also defined BOOST_ASIO_HAS_MOVE
. I use Xcode 4.6.3 and in the compiler settings I have this defined:
C++ Language dialect: GNU++11[-std=gnu++11]
C++ Standard Library: libc++(LLVM C++ standard library with C++11 support)
You need to have BOOST_ASIO_HAS_MOVE
defined before including the ASIO headers. If you don't, move support is disabled. See asio/basic_stream_socket.hpp
.
https://svn.boost.org/trac/boost/ticket/8959
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With