Destek grafiği kitaplığını kullanmaya çalışıyorum ve boost :: edge() işlevini kullanmaya çalıştığımda segfault alıyorum. (I "g ++ minimal.cpp" ile derleme) tam kod kullanılabilir here, ama burada aynı sorunu var minimal programı yaptık:boost :: edge segfault neden oluyor
#include<stdio.h>
#include<boost/graph/adjacency_list.hpp>
using namespace boost;
using namespace std;
typedef adjacency_list<> graph_t;
typedef graph_traits<graph_t>::edge_descriptor edge_descriptor;
int main(){
graph_t G;
//add_edge(1,3,G);
//remove_edge(1,3,G);
pair<edge_descriptor, bool> res = edge(1,3,G);
printf("G does %shave an edge 1->3\n", res.second ? "" : "not ");
return 0;
}
Ben add_edge, remove_edge hatları yorumsuz , segfault oluşmaz ve program beklenen
G does not have an edge 1->3
basar ama böyle hackery önlemek için bir yol var? Teşekkürler!
Bu bir hata çok benziyor. Stackoverflow üzerinde uygun bir yanıt alamıyorsanız, [Boost-Devel Postalama Listesi] 'ne (http://news.gmane.org/gmane.comp.lib.boost.devel) ulaşmak isteyebilirsiniz. – Mankarse