我有这个函数作为构造函数:
Graph::Graph(std::string filename)
{
std::ifstream file(filename);
file >> vertexNum_;
edgeNum_ = 0;
int edges;
file >> edges;
for(int i = 0; i < edges; edges++)
{
int s,e;
file >> s;
file >> e;
if(!AddEdge(s,e)){
std::cout << "Bad file!";
break;
}
}
file.close();
}
当我从主Graph g("test.in");
打电话时,它给了我Segfault,因为在函数参数filename
中是空字符串(在调试器中显示)。我正在使用QtCreator。
问题出在哪里?