私は Mac を使用しており、homebrew を使用して zeromq をインストールしています。アプリケーションに zeromq を使用したいと考えています。zmq.hpp https://github.com/zeromq/cppzmq/blob/master/zmq.hpp をコンパイルしようとしました
int main () {
// Prepare our context and socket
zmq::context_t context (1);
zmq::socket_t socket (context, ZMQ_REP);
socket.bind ("tcp://*:5555");
while (true) {
zmq::message_t request;
// Wait for next request from client
socket.recv (&request);
std::cout << "Received Hello" << std::endl;
// Do some 'work'
sleep (1);
// Send reply back to client
zmq::message_t reply (5);
memcpy ((void *) reply.data (), "World", 5);
socket.send (reply);
}
return 0;
}
しかし、それは失敗しました。エラーが表示されます
"frameworks/zmq/zmq.hpp:377:35: エラー: 予想される ';' 宣言リストの終わりに socket_t (const socket_t&) ZMQ_DELETED_FUNCTION; ^ ; frameworks/zmq/zmq.hpp:379:42: エラー: 予想される ';' 宣言リストの最後に void operator = (const socket_t&) ZMQ_DELETED_FUNCTION;"
なぜこれが起こったのですか?zmq.hpp コードにはエラーは含まれていません。助けてください。
最後に私はこれを行い、うまくいきました。
#if __has_feature(cxx_deleted_functions)
#define ZMQ_DELETED_FUNCTION = delete
#else
#define ZMQ_DELETED_FUNCTION
#endif
どうもありがとう。オードリー。