I'm trying to use a vistitor class on a graph I have defined. The visitor class is very simple and inherits from default_dfs_visitor: class OpenGLVisitor : public boost::default_dfs_visitor { public: OpenGLVisitor(void); virtual ~OpenGLVisitor(void); }; My graph type is: typedef adjacency_list < vecS, listS, directedS > graph_t; The code to perform a dfs on the graph is as follows: graph_t g; depth_first_search(g, visitor(OGLVisitor)); However I get the compiler error (see attachment). If I change the typedef to typedef adjacency_list < vecS, vecS, directedS > graph_t; then there is no error. This seems odd since it should also work when the vertices of the graph use the std::list as their container class. I'm using VC++7.1.