C++ 使用Boost图形库:Boost::可变队列中的属性映射
我正在尝试用我定义的自定义C++ 使用Boost图形库:Boost::可变队列中的属性映射,c++,boost,C++,Boost,我正在尝试用我定义的自定义节点类型实例化的一个简单版本。使用以下代码段(使用std和boost名称空间,以及所需的全部内容)实例化mutable_queue实例没有问题: 这给了我以下方面的错误: error: no matching function for call to ‘boost::mutable_queue >, std::less, boost::identity_property_map>::push(Node*&)’ mutable_queue.h:100: note:
节点
类型实例化的一个简单版本。使用以下代码段(使用std和boost名称空间,以及所需的全部内容)实例化mutable_queue
实例没有问题:
这给了我以下方面的错误:
error: no matching function for call to ‘boost::mutable_queue >, std::less, boost::identity_property_map>::push(Node*&)’
mutable_queue.h:100: note: candidates are: void boost::mutable_queue::push(const IndexedType&) [with IndexedType = UnitTest::Node_test()::entry_t, RandomAccessContainer = std::vector >, Comp = std::less, ID = boost::identity_property_map]
错误:调用“boost::mutable_queue>,std::less,boost::identity_property_map>::push(节点*&)”时没有匹配的函数
可变队列。h:100:注意:候选项是:void boost::可变队列::push(const IndexedType&)[带IndexedType=UnitTest::Node\u test()::entry\u t,RandomAccessContainer=std::vector>,Comp=std::less,ID=boost::identity\u property\u map]
我怀疑我不了解如何使用
属性映射
。有人能帮我修复这段代码,也许能解释一下为什么这样做是正确的吗?我看不出你在哪里调用push,但似乎你在推一个节点*而你应该推一个节点:
::push(Node*&)
它告诉你有一个节点常数的推力&:
push(const IndexedType&)
其中IndexedType=节点
::push(Node*&)
push(const IndexedType&)