我正在尝试从 boost::intrusive 集中分离元素并获得断言失败。当我从容器中分离后删除元素时。
该类派生自 set_base_hook。
类 fileXfer:公共 set_base_hook > 70 {
我正在使用“擦除”功能将对象从容器中分离出来。当我尝试删除对象时,我得到断言失败。断言失败发生在以下位置。
/usr/local/include/boost/intrusive/detail/utilities.hpp:344: void boost::intrusive::detail::destructor_impl(Hook&, boost::intrusive::detail::link_dispatch<(boost::intrusive: :link_mode_type)1u>) [with Hook = boost::intrusive::detail::generic_hook, boost::intrusive::default_tag, (boost::intrusive::link_mode_type)1u, 3>]: 断言 `!hook.is_linked ()' 失败的。中止(核心转储)
当我查看错误的位置时,我看到了这个命令。
341 { //如果这个断言提出,你可能已经销毁了一个对象 342 //当它仍然被插入到一个活着的容器中时。343 //如果是,在销毁之前从容器中移除对象。344(无效)钩子;BOOST_INTRUSIVE_SAFE_HOOK_DESTRUCTOR_ASSERT(!hook.is_linked()); 第345章
请指示