gpt4 book ai didi

c++ - 没有用于调用 boost::condition_variable::wait 的匹配函数

转载 作者:太空宇宙 更新时间:2023-11-04 12:06:58 26 4
gpt4 key购买 nike

这是我的场景

boost::condition_variable        _condition;
boost::unique_lock<boost::mutex> lock(_mutex);
boost::detail::atomic_count _count;
.........
_condition.wait(&lock, boost::bind(std::less<int>(), boost::ref(_count), max));

获取错误

error: no matching function for call to 'boost::condition_variable::wait(boost::unique_lock<boost::mutex>*, boost::_bi::bind_t<boost::_bi::unspecified, std::less<int>, boost::_bi::list2<boost::reference_wrapper<boost::detail::atomic_count>, boost::_bi::value<short unsigned int> > >)'

问题出在哪里?

最佳答案

condition_variable::wait()接受 single argument

void wait(boost::unique_lock<boost::mutex>& lock)

或者带有 predicate type 的两个参数的情况

template<typename predicate_type> void wait(boost::unique_lock<boost::mutex>& lock, predicate_type pred)

无论哪种情况,第一个参数都是引用,而不是您示例中的指针。

关于c++ - 没有用于调用 boost::condition_variable::wait 的匹配函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11600565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com