開發平台(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])可以正常運作。
為了讓他可以正常運作,任何可能可以嘗試的建議都很感激!!
謝謝