Я думал, что это будет просто, но я, должно быть, упускаю что-то важное, поэтому ошибка = O.
Я получаю сообщение об ошибке «использование удаленной функции» внутри моего исходного файла.
Во всяком случае, я знаю, что мой заголовочный файл правильно подключен, поскольку он правильно вызывался во всем исходном файле, кроме этой строки, и фрагмент исходного кода - единственное место, которое должно требовать оценки.
Исходный код заголовка
using boost::asio::ip::tcp;
tcp::acceptor mAcceptor;
std::map<std::string, tcp::socket> mSockets;
Исходный код файла
tcp::socket socket(ioService);
mAcceptor.accept(socket);
std::string myKey = "Socket"; // Didn't add actual key string creation
mSockets[myKey] = socket;
Error
ошибка: использование функции удаления 'boost :: asio :: basic_stream_socket & boost :: asio :: basic_stream_socket :: operator {const boost :: asio :: basic_stream_socket &)'
mSockets [myKey] = сокет;
Продолжает говорить:
Неявно объявлено как удаленное, потому что 'boost :: asio :: basic_stream_socket' объявляет конструктор перемещения или класс оператора присваивания перемещения basic_stream_socket.
Update
@ Radosław Cybulski предложил попробовать std :: move (socket), и это устранило большую часть ошибки, но теперь это приводит к.
Ошибка № 2
boost :: asio :: basic_stream_socket :: basic_stream_socket () 'second (std :: forward <_Args2> (std :: get <_Indexes2> (_ tuple2)) ...)