
20 Jul
2006
20 Jul
'06
10:10 a.m.
Hello, When I run the example code of topo_sort.cpp in the BGL examples folder, it works perfectly. However, if I replace in this example: typedef adjacency_list<vecS, vecS, directedS, property<vertex_color_t, default_color_type> > Graph; By: typedef adjacency_list<listS, listS, directedS, property<vertex_color_t, default_color_type, property<vertex_index_t, int > > > Graph; It compiles, but during execution, some assert occurs. This assert occurs deep within my std::vector implementation (msvc8.0), in the call stack, the latest reference to boost is > TopoSort.exe!boost::iterator_property_map<std::_Vector_iterator<enum boost::default_color_type,std::allocator<enum boost::default_color_type> >,boost::adj_list_vertex_property_map<boost::adjacency_list<boost::listS,boost::listS,boost::directedS,boost::property<enum boost::vertex_color_t,enum boost::default_color_type,boost::property<enum boost::vertex_index_t,int,boost::no_property> >,boost::no_property,boost::no_property,boost::listS>,int,int const &,enum boost::vertex_index_t>,enum boost::default_color_type,enum boost::default_color_type &>::operator[](void * v=0x00355eb8) Line 349 + 0x67 bytes C++ Or, for people who don't read msvc on a daily basis, it indicated the line 350 of property_map.cpp : /*template<...> class iterator_property_map : ... { */ inline R operator[](key_type v) const { return *(iter + get(index, v)) ; } Does anybody have any idea of what the problem might be ? Best regards, -- Loïc