Hello Jerermy:
I also meet the same problem. I recur it by using the BGL' sample dfs.cpp in which
I changed the default template parameter and use listS as edge selector, modify the
relevante addedge fuction. The compiler complains "error C2678: binary '+' : no
operator found which takes a left-hand operand of type
'const std::vector<_Ty>::iterator' (or there is no acceptable conversion ...".
I am also using the VC7.1. Thank you.
f_x_w
----- Original Message -----
From: "Jeremy Siek"
Hi Sashan,
It's hard to know exactly what's wrong without seeing all the code. However, based on the change that removes the problem, I'd say that it probably has to do with how the vertex_descriptor==int when VertexList==vecS whereas vertex_descriptor==void* when VertexList==listS. Anotherwords, somewhere in your code you are probably not treating vertex_descriptor as opaque, but instead treating it as an int.
Hope that helps, Jeremy
On Fri, 10 Oct 2003, sashan wrote:
sashan> I'm trying to use a vistitor class on a graph I have defined. The sashan> visitor class is very simple and inherits from default_dfs_visitor: sashan> class OpenGLVisitor : sashan> public boost::default_dfs_visitor sashan> { sashan> public: sashan> OpenGLVisitor(void); sashan> virtual ~OpenGLVisitor(void); sashan> }; sashan> sashan> My graph type is: sashan> typedef adjacency_list < vecS, listS, directedS > graph_t; sashan> sashan> The code to perform a dfs on the graph is as follows: sashan> graph_t g; sashan> depth_first_search(g, visitor(OGLVisitor)); sashan> sashan> However I get the compiler error (see attachment). sashan> sashan> If I change the typedef to sashan> typedef adjacency_list < vecS, vecS, directedS > graph_t; sashan> sashan> then there is no error. This seems odd since it should also work when sashan> the vertices of the graph use the std::list as their container class. sashan> sashan> I'm using VC++7.1. sashan> sashan>
---------------------------------------------------------------------- Jeremy Siek http://php.indiana.edu/~jsiek/ Ph.D. Student, Indiana Univ. B'ton email: jsiek@osl.iu.edu C++ Booster (http://www.boost.org) office phone: (812) 855-3608 ----------------------------------------------------------------------