开发平台(Platform): (Ex: VC++, GCC, Linux, ...)
Ubuntu 14.04, gcc,
额外使用到的函数库(Library Used): (Ex: OpenGL, ...)
STL, boost
问题(Question):
我试着用boost下的graph library来产生一些network的图。
对于一个graph object, g, 我可以正常的使用remove_edge这个函数。
remove_edge(0,1,g)会把所有连在0,1上的线去掉。
remove_edge(edge_descriptor,g)会把g里面的某一个边去掉。
这个是我想要用的功能,因为他可以个别去掉边。
因为我需要有很多个 network要处理,我希望把他放在
vector container里面方便操作,可是就出了问题。
如果我把g push_back到 graph_list里面。假设是graph_list[0]。
然后把g的edge_descriptor也push_back到
g对应的edge_list,g_edge_list里面
remove_edge(g_edge_list[0],graph_list[0])
正常运作的话,他应该会把graph_list里的第一个图的第一个边去掉。
gcc -Wall 没有显示问题。
但是一执行到那一行,我就得到
Segmentation fault (core dumped)
以下是我的程式码
程式码(Code):(请善用置底文网页, 记得排版)
https://gist.github.com/YiPingHuang/557754bfd5208bb4c612
补充说明(Supplement):
如果用remove_edge(0,1,graph_list[0])可以正常运作。
为了让他可以正常运作,任何可能可以尝试的建议都很感激!!
谢谢