我正在尝试使用BOOST库构建一个简单的GraphML加载器。我有一个GraphML文件,想要将其加载到一个boost邻接列表结构中。该图是有向的,存储的唯一信息是节点的名称(0,1,2...)以及从一个节点到另一个节点的边缘。我的做法如下:
void loadHierarchy(){
// ...
std::ifstream inFile;
inFile.open("ext.gml", std::ifstream::in);
typedef boost::adjacency_list<> Graph;
Graph g;
boost::read_graphml(inFile, g);
// ...
}
我不需要使用任何属性,只需将整个图形信息保存在邻接表中。
我得到的错误如下:
错误:从类型为‘loadHierarchy()::Graph’的表达式初始化引用类型‘boost::mutate_graph&’无效 /usr/include/boost/graph/graphml.hpp:194:错误:传递参数2时‘void boost::read_graphml(std::istream&, boost::mutate_graph&)’出现问题
这应该很简单,但显然并非如此。