最初はそのまま使用boost::mutex::scoped_lock
していました(うまくいきました)
boost::mutex::scoped_lock lock(mutex_name);
condition.wait(lock); //where condition = boost::condition_variable
ただし、後でロックを次のように変更しましたが、機能しません
boost::lock_guard<boost::mutex> lock(mutex_name)
condition.wait(lock); //Error
問題を解決する方法に関する提案があれば、Intellisense エラーが表示されますNo instance of the overloaded function matches the argument list
。コンパイルエラーは
Error 7 error C2664: 'void boost::condition_variable::wait(boost::unique_lock<Mutex> &)' : cannot convert parameter 1 from 'boost::lock_guard<Mutex>' to 'boost::unique_lock<Mutex> &'