boost::graph und lvalue bei boost::put
-
Hallo,
spiele gerade bei boost::graph etwas rum.
Da ich auch was mit layout algos mache, orientiere ich mich an diesem Testcase:
http://www.boost.org/doc/libs/1_43_0/libs/graph/test/layout_test.cppDas hat jetzt auch wunderbar geklappt, nur jetzt bekomme ich einen doofen fehler, bei etwas recht trivialem:
typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS, // Vertex properties boost::property<boost::vertex_index_t, int, boost::property<vertex_position_t, point> > // Edge properties ,boost::property<boost::edge_weight_t, double> > Graph; Graph g(scene->getNodeCount()); boost::graph_traits<Graph>::vertex_iterator vi,vi_end; int i = 0; for (boost::tie(vi, vi_end) = boost::vertices(g); vi != vi_end; ++vi) boost::put(boost::vertex_index, g, *vi, i++);Dies ergibt dann bei put:
..\..\..\cpp\boost_1_43/boost/property_map/property_map.hpp:361: error: lvalue required as left operand of assignment"Quelle" ist der letzte Parameter, ka genau warum. Andere Versionen habe ich schon getestet, irgendwie sehe ich es nicht.
Der Code stammt auch aus dem Testcase, müsste also nun wirklich bei so etwas trivialem laufen...Also, was mache ich da falsch?
phlox
-
Hat sich geklärt, es ist so, das man bei einem Graphen mit vecS sowas schon hat.
Also nicht mehr setzen kann.