Код: Выделить всё
std::queue qu;
zmq::message_t msg;
zmq::recv_result_t res = sock.recv(msg, zmq::recv_flags::none);
qu.push(std::move(message));
Код: Выделить всё
include/zmq.hpp:745:5: note: declared here
745 | message_t(const message_t &) ZMQ_DELETED_FUNCTION;
Я понимаю, что zmq::message_t нельзя так передвигать. Как правильно это сделать (эффективно, без ненужного копирования)?
Я ожидаю, что message_t будет хранить данные сообщения, выделенные в куче, и это будет быть освобожден в деструкторе message_t. В таком случае я не понимаю, в чем здесь проблема.
Подробнее здесь: https://stackoverflow.com/questions/787 ... und-thread