は、私は私が問題になる可能性があるものを予期しないセグメンテーションフォールト
void Graph::otherfunction() {
if(termination_condition() == true)
return 1;
}
それを呼び出すたびセグメンテーションフォールトを行い、以下の機能
bool Graph::termination_condition() {
for(int i = 0; i < nodes; i++) {
// check if any pair of neighbors is using the same color
//vector<int> neigh_colors;
//for(int idx = 0; idx < degree(node); idx++) {
// adjList[node][idx] is the neighbor
//if(find(neigh_colors.begin(), neigh_colors.end(), node_obj[adjList[node][idx]].l_color) == neigh_colors.end() )
// // not found, add
//neigh_colors.push_back(node_obj[adjList[node][idx]].l_color);
//else
// return false;
//}
// check if the color of the node is used
//if(find(neigh_colors.begin(), neigh_colors.end(), node_obj[node].l_color) != neigh_colors.end() )
// return false;
// check if color of node is in conflict list
//if(node_obj[node].tmp_conf_list.size())
// if(find(node_obj[node].tmp_conf_list.begin(), node_obj[node].tmp_conf_list.end(), node_obj[node].l_color) != node_obj[node].tmp_conf_list.end())
// return false;
}
return true;
// return false;
}
がありますか?
おかげ
UPDATE:
int Graph::otherfunction() {
if(termination_condition() == true)
return 1;
}
'nodes'はどこに宣言されていますか?なぜ、termination_conditionのコメントアウトされたコードはすべてですか? –
'otherfunction'はコンパイルされず、' void'関数から 'return 1;'を返すことはできません。 –
@Charles:コードの大部分をコメントアウトすることは、クラッシュが発生している場所を絞り込むための合理的な方法です。 –