我正在编写一个简单(非常简单)的链表来提高我的编程技能,但显然,我失败了,因为我遇到了这个编译器错误,我不知道出了什么问题。问题在于删除功能:
bool delete(node* head, node* delMe){
node* current;
if(delMe == head){
if(head->next != NULL){
head = delMe->next;
free(delMe);
}else{
head = NULL;
cout<<"There are no more elements in the LL"<<endl;
}
return true;
}else{
current = head;
while(current){
if(current->next == delMe){
current->next = delMe->next;
free(delMe);
return true;
}
current = current->next;
}
}
return false;
}
在“删除”之前,我得到了预期的不合格 ID。
我认为它可能与上面的插入函数有关,但是当我完全注释掉删除函数时,程序编译没有问题。