私はブースト1.53.0を使用していたとき、私は送信を使用して、このように受信して動作していない受信/送信:ブースト:: message_queue ::最新バージョン
今すぐ最新バージョン1.65.1を使用してint i=0;
msg_queue.send(&i, sizeof(i), 0);
int number;
unsigned int priority = 0;
boost::interprocess::message_queue::size_type recvd_size;
msg_queue.receive(&number, sizeof(number), recvd_size, priority);
、I無効な引数エラーが発生すると、問題はsizeof()のようです。
バージョン1.53.0と1.65.1の間でBoostのドキュメントは変更されませんでした。 Message_queue Doc
送信の署名と受信はsize_typeが必要 Iはのsizeof()をは、私はsize_type変数を使用し、size_typeにキャストしようとした使用しかし、実行時に私はそうするライブラリエラーを取得します。
ありがとうございます。
編集: ユーザーの要求に応じて、私が試した内容に応じて異なるエラーメッセージが表示されます。
#1 attempt: msg_queue.receive(&number, sizeof(number), recvd_size, priority);
#1 Error at compile time: Invalid arguments 'Canditates are: void send(const void *, ?, unsigned int)'
#1 Comment: Same error for Message_Queue::Send()
以前のバージョンと同じコードで、値を送受信できました。
それを参照してください。 –