
On Fri, Jan 30, 2009 at 07:56:30AM -0500, Andrew Sutton wrote:
However, changing
Graph g(ev.begin(), ev.end(), 0, 0);
to
Graph g(ev.begin(), ev.end(), 0);
makes it compile (which is not a possibility in my case, since I need the optional argument).
It looks like the wrong constructor was instantiated. It looks like that first 0 is being substituted as an EdgePropertyIterator instead of the number of vertices, which I'm guessing is what you really want to do. If you're trying to set that last 0 as the number of edges, you don't *really* need that parameter. The constructor doesn't actually use it. It doesn't even give the parameter a name. The reason is that the iterator range defines the number of vertices.
I guess you mean the number of edges here.
So, from what I can tell (assuming that I'm reading your intent correctly), the change that works will actually fix your problem.
This works now; thanks! Shouldn't one then update the documentation? For the first constructor of adjacency_list (in the documentation), the parameters edges_size_type m = 0, const GraphProperty& p = GraphProperty()) aren't explained, and at least m isn't used, and actually seems harmful? The second constructor even has vertices_size_type m = 0, const GraphProperty& p = GraphProperty()) where likely it should be edges_size_type. So some clean-up seems to be needed. (Or is it the case, that nobody touches these original documentations anymore??) Thanks again. Oliver -- Dr. Oliver Kullmann Computer Science Department Swansea University Faraday Building, Singleton Park Swansea SA2 8PP, UK http://cs.swan.ac.uk/~csoliver/