[Apologies if this has been asked before. Gmane is down and Google didn't
return anything interesting.]
I have a Boost (1.34.1) Graph declared like this:
typedef boost::adjacency_list my_graph_type;
I want to find out if an edge is in the graph:
typedef typename boost::graph_traits::
edge_descriptor_type edge;
edge e;
bool present;
boost::tie(e, present) = edge(v1, v2, my_graph);
Unfortunately, g++ 4.1.2 doesn't like it:
error: no matching function for call to
boost::detail::edge_desc_impl::edge_desc_impl(void* const&, void* const&,
boost::adjacency_list&)
boost-1_34_1/boost/graph/detail/edge.hpp:43: note: candidates are:
boost::detail::edge_desc_impl::edge_desc_impl(Vertex,
Vertex, const void*) [with Directed = boost::undirected_tag, Vertex = void*]
boost-1_34_1/boost/graph/detail/edge.hpp:41:
note: boost::detail::edge_desc_impl::edge_desc_impl() [with Directed = boost::undirected_tag, Vertex =
void*]
boost/graph/detail/edge.hpp:35:
note: boost::detail::edge_desc_impl::edge_desc_impl(const
boost::detail::edge_desc_impl&)
Has anyone else run into this problem before? How does a reference to the
graph get passed to edge_desc_impl's constructor?
Thanks.
-Dave