|
Boost : |
Subject: Re: [boost] Boost::Graph --- why does this program not compile?
From: Oliver Kullmann (O.Kullmann_at_[hidden])
Date: 2009-01-29 12:44:58
Changing listS to vecS doesn't change anything.
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).
Oliver
On Wed, Jan 28, 2009 at 06:38:10PM -0500, Andrew Sutton wrote:
> >
> > template <class Graph>
> > inline Graph orthogonality_relation() {
> > typedef std::pair<unsigned int, unsigned int> edge_type;
> > std::vector<edge_type> ev;
> > Graph g(ev.begin(), ev.end(), 0, 0);
> > return g;
> > }
> >
> > typedef boost::adjacency_list<boost::listS, boost::vecS,
> > boost::undirectedS> UndirectedGraph;
> >
>
> Its probably a collaboration of problems between the pair<unsigned,
> unsigned> and the listS in the adjacency list. It looks like the graph is
> expecting a vertex descriptor to be a pointer (hence the unary *), but it's
> getting an unsigned (which can't be dereferenced). Try changing listS to
> vecS and see if that fixes the problem.
>
> Andrew Sutton
> andrew.n.sutton_at_[hidden]
> _______________________________________________
> Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk