1

我正在编写一个简单(非常简单)的链表来提高我的编程技能,但显然,我失败了,因为我遇到了这个编译器错误,我不知道出了什么问题。问题在于删除功能:

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。

我认为它可能与上面的插入函数有关,但是当我完全注释掉删除函数时,程序编译没有问题。

4

1 回答 1

1

delete是 C++ 中的关键字。您不能将其用作标识符。

于 2013-03-03T03:01:39.887 回答