gpt4 book ai didi

c++ - boost::Unique_Ptr 对象列表

转载 作者:行者123 更新时间:2023-11-28 03:55:11 25 4
gpt4 key购买 nike

为什么我不能这样做?

typedef boost::interprocess::unique_ptr<QueueList, QueueListDeletor> UQList;
typedef boost::intrusive::list<UQList> List; // Compiler (VS 2003) complains

QueueList 是派生自 public boost::intrusive::list_base_hook<> 的类使其成为侵入式链表的一部分。

我想使用 unique_ptr 来在线程之间传递这个对象,并且当时只有 1 个线程拥有这个对象的所有权。

编辑:错误:

错误 C2039:“指针”:不是“boost::intrusive::detail::default_list_hook”的成员 参见“boost::intrusive::detail::default_list_hook”的声明 请参阅对正在编译的类模板实例化“boost::intrusive::list_impl”的引用 和 [ 配置=boost::intrusive::listopt::value_traits,boost::intrusive::size_type::pack>::type,boost::intrusive::constant_time_size>::type>::size_type,true> ]

错误 C2039:“const_pointer”:不是“boost::intrusive::detail::default_list_hook”的成员 参见“boost::intrusive::detail::default_list_hook”的声明

最佳答案

QueueList 可能派生自list_base_hook,但UQList 肯定不是。由于您尝试创建 UQList 的侵入式列表(这是一个 unique_ptr)而不是 QueueList 对象的侵入式列表,因此这将不起作用。

关于c++ - boost::Unique_Ptr 对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3879775/

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