Good day,
I’ve been trying several things to fix my problem,
yet, I just get more errors when I do. So here’s my best shot:
I have an adjacent_list graph define as such:
typedef
adjacency_list<vecS, listS, bidirectionalS, property<vertex_index_t,
int, ObjectID>, Relationships> Graph;
My visitor is define as
class DFSTreeVisitor : public
default_dfs_visitor
{
public:
DFSTreeVisitor(ModelTreeIF::ExplorerIF&
Explorer, ModelTreeIF& Tree)
:
m_Tree(Tree), m_Explorer(Explorer) {};
template<typename
VertexType, typename GraphType>
void discover_vertex(VertexType V, const GraphType& G);
template<typename
VertexType, typename GraphType>
void finish_vertex(VertexType V, const GraphType& G);
private:
ModelTreeIF&
m_Tree;
ModelTreeIF::ExplorerIF&
m_Explorer;
};
When doing a depth first search using a start location:
depth_first_search(*GetGraph(RootID),
visitor(Visitor), get(vertex_index, *GetGraph(RootID)), m_Vertices[StartID]);
I get the following errors:
Error 1 error
C2039: 'initialize_vertex' : is not a member of
'boost::bgl_named_params<T,Tag,Base>' …\boost\graph\depth_first_search.hpp 197
Error 2 error
C2039: 'start_vertex' : is not a member of
'boost::bgl_named_params<T,Tag,Base>' …\boost\graph\depth_first_search.hpp 200
Error 3 error
C2039: 'start_vertex' : is not a member of
'boost::bgl_named_params<T,Tag,Base>' …\boost\graph\depth_first_search.hpp 207
Yet, if I use the two argument version of the function:
depth_first_search(*GetGraph(RootID),
visitor(Visitor));
It works fine.
What wrong with my visitor? Or is it an unrelated problem in
my code that causes this?
Thanks you very much for you help,
Jean-Olivier