[graph] Compilation problem using depth_first_visit with a listS as a VertexListS

Hi There, I am struggling with BOOST while trying to link them with my code. Actually I start while using "loops_dfs.cpp" as an example.
From that I isolated the following code which compiles without any problem:
typedef adjacency_list < vecS, vecS, bidirectionalS,GraphvizVertexProperty,GraphvizEdgeProperty, GraphvizGraphProperty > Graph; Graph _graph2; typedef color_traits < default_color_type > Color; typedef graph_traits < Graph >::vertex_descriptor VertexType; typedef graph_traits < Graph >::edge_descriptor EdgeType; EdgeType back_edge;//ok I know it is empty but it just to try the compilation!! VertexType loop_head, loop_tail; loop_tail = source(back_edge, _graph2); loop_head = target(back_edge, _graph2); std::vector < default_color_type > reachable_from_head(num_vertices(_graph2), Color::white()); default_color_type c; depth_first_visit(_graph2, loop_head, default_dfs_visitor(), make_iterator_property_map(reachable_from_head.begin(),get(vertex_index, _graph2), c)); So this works fine! Then, I would like to change the type of graph, so more precisely, to use a std::list (or listS) instead of a std..vector (vecS) for the VertexListS So the first line declaration becomes: typedef adjacency_list < vecS, listS, bidirectionalS,GraphvizVertexProperty,GraphvizEdgeProperty, GraphvizGraphProperty > Graph; //only the 2nd argument changes But then when I compile the code, I get 1 error during the compilation as described hereafter. Since I am fighting for more than one day now on this problem, I would **really** appreciate if someone can give me more explanations and/or advice to solve my problem... Thanks in advance, Simon 1>boost/property_map.hpp(351) : error C2679: binary '+' : no operator found which takes a right-hand operand of type 'boost::detail::error_property_not_found' 1>(or there is no acceptable conversion) 1> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\include\vector(366): could be 'std::_Vector_iterator<_Ty,_Alloc> std::_Vector_iterator<_Ty,_Alloc>::operator +(__w64 int) const' 1> with 1> [ 1> _Ty=boost::default_color_type, 1> _Alloc=std::allocator<boost::default_color_type> 1> ] 1> while trying to match the argument list '(const std::_Vector_iterator<_Ty,_Alloc>, boost::detail::error_property_not_found)' 1> with 1> [ 1> _Ty=boost::default_color_type, 1> _Alloc=std::allocator<boost::default_color_type> 1> ] 1> \inc\boost/property_map.hpp(351) : while compiling class template member function 'boost::default_color_type boost::iterator_property_map<RandomAccessIterator,IndexMap,T,R>::operator [](void *) const' 1> with 1> [ 1> RandomAccessIterator=std::_Vector_iterator<boost::default_color_type,std::allocator<boost::default_color_type>>, 1> IndexMap=boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS,boost::listS,boost::bidirectionalS,LatticeNode,LatticeArc>,boost::detail::error_property_not_found,boost::detail::error_property_not_found &,boost::vertex_index_t>, 1> T=boost::default_color_type, 1> R=boost::default_color_type & 1> ] 1> ..\test.cpp(18) : see reference to class template instantiation 'boost::iterator_property_map<RandomAccessIterator,IndexMap,T,R>' being compiled 1> with 1> [ 1> RandomAccessIterator=std::_Vector_iterator<boost::default_color_type,std::allocator<boost::default_color_type>>, 1> 1> IndexMap=boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS,boost::listS,boost::bidirectionalS,LatticeNode,LatticeArc>,boost::detail::error_property_not_found,boost::detail::error_property_not_found &,boost::vertex_index_t>, 1> T=boost::default_color_type, 1> R=boost::default_color_type & 1> ]
participants (1)
-
Simon Bozonnet