我查看了之前的答案,但没有一个人解释了我收到此错误的原因。
这是我的错误代码。它出现在“if(pathID == 2 ...)”和之后的每个if语句中。
void add_path(int a,int b, int current_step,int pathID){
if(pathID == 0){
path[current_step] = new step(a,b,"Filled A",path[current_step]);
}
if(pathID == 1)
path[current_step] = new step(a,b,"Filled B",path[current_step]);
}
if(pathID == 2){
path[current_step] = new step(a,b,"Empty A",path[current_step]);
}
if(pathID == 3){
path[current_step] = new step(a,b,"Empty B",path[current_step]);
}
if(pathID == 4){
path[current_step] = new step(a,b,"Pour B to A",path[current_step]);
}
if(pathID == 5){
path[current_step] = new step(a,b,"Pour A to B",path[current_step]);
}
}
所有这些代码的意思是添加到数组中给定位置的链表。传递pathID并告诉它执行了什么操作,因此我们知道我们知道要添加到链表中的内容。
稍后在程序中我使用该链表来确定采取了哪些操作。我仍然需要使它成为一个双向链表,因此它不会反向打印,但这是另一个问题。
答案 0 :(得分:1)
你在
后忘记了大括号if(pathID == 1)
添加它并且它可以正常工作。