我有以下功能
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;
}
每当我调用它时会出现分段错误
void Graph::otherfunction() {
if( termination_condition() == true )
return 1;
}
可能是什么问题?
由于
更新:
int Graph::otherfunction() {
if( termination_condition() == true )
return 1;
}
答案 0 :(得分:3)
我的水晶球说,this
指针为NULL或无效,nodes
是成员变量。
答案 1 :(得分:0)
由于我们获得了少量信息,我们所能做的就是猜测。
您最好的选择是使用调试器进入它,并找出问题所在。在otherFunction
开头设置断点应该是一个很好的起点。