我目前正在尝试学习如何使用boost库,我偶然发现了boost :: intrusive :: splay_set(或splaytree在这个问题)的问题。指针在boost :: intrusive :: splay_set
让我们假设我想要保留指向Category类的指针树(所以Category *)。我想写以下
splay_set<Category*, compare<std::greater<Category*>>> CategoriesSplay
可悲的是,这是行不通的。我不会写出它产生的错误,因为它超过了100,并且Visual Studio正在终止编译过程。
然后我试图改变我的类别班应该在这里再次延伸到
class Category : public splay_set_base_hook<link_mode<auto_unlink>, Category*>
,没有运气类。将第二个代码中的Category *更改为void_pointer(Category)也不起作用。令人遗憾的是,增加文档无助于添加指向侵入式展示集的指针。
有没有人得到一些解决我的问题?提前致谢。
有什么错误? (至少在前几个) – Adrian 2012-03-27 13:19:19
它实际上取决于我如何定义扩展类模板。如果它的定义如上,我的错误是:'错误C2825:'下一个':必须是一个类或命名空间后跟'::'''错误C2903:'pack':符号既不是类模板也不是函数模板'但是,如果它没有定义指针错误,就会出现'error C2825:'T':必须是一个类或名称空间,后跟'::'''错误C2039:'default_splay_set_hook':不是'全局名称空间'的成员' – 2012-03-27 13:21:41