Boost C ++ - 生成布局

时间:2018-01-08 09:21:22

标签: c++ boost graph boost-graph

我最近一直在用C ++处理图形绘制。我的问题是,如何解决最终错误:

 required from here
/usr/include/boost/graph/random_layout.hpp:30:8: error: ‘const class boost::random::linear_congruential_engine<unsigned int, 48271u, 0u, 2147483647u>’ has no member named ‘random_point’
     put(position_map, v, topology.random_point());
        ^

对于这个小代码片段:

  boost::minstd_rand gen;
  PositionVec position_vec(num_vertices(component));
  PositionMap position(position_vec.begin(), get(vertex_index, component));
  topology_type topo(gen, -width/2, -height/2, width/2, height/2);
  boost::random_graph_layout(component, position, gen);

我在这里做错了什么?

非常感谢。

1 个答案:

答案 0 :(得分:1)

根据参考

template<typename Graph, typename PositionMap, typename Topology>
void
random_graph_layout(const Graph& g, PositionMap position_map,
                const Topology& space);  // <---

你应该传递random_graph_layout拓扑对象而不是生成器的第三个参数。

所以请致电

boost::random_graph_layout(component, position, topo);