c++ “delete”函数前应为未限定的ID

ezykj2lf  于 2023-01-06  发布在  其他
关注(0)|答案(4)|浏览(244)

我写了一个C++程序,这个错误出现了,我找不到原因。谁能帮帮我吗?这个函数是用来删除链表中的第i个元素的,即使我尽力了也找不到原因。

#include <cstdio>
#include <fstream>

using namespace std;

struct node
{
    int value;
    node * next;
};

typedef struct node list;

list* head = NULL;
int list_length = 0;

bool empty(){
    return (head == NULL);
}

void delete(int i){
    if(i>list_length) return;
    if(empty()) return;

    int count = 0;
    list* curr = head;
    while(curr != NULL && count < i-1){
        curr = curr -> next;
        count++;
    }
    list* temp = curr -> next;
    curr next = temp -> next;
    list_length--;
}

int main(){
}
xe55xuns

xe55xuns1#

你有一个叫做delete但是delete is a keyword in C++的方法。

62o28rlo

62o28rlo2#

delete是C++中的保留关键字。必须重命名函数。

l5tcr1uw

l5tcr1uw3#

这段代码中有两个错误,您将函数命名为delete,但deleteC++ 中是keyword,第二个问题是delete函数中的这一行:

curr next = temp -> next;

看起来应该是:

curr->next = temp -> next;
z0qdvdin

z0qdvdin4#

delete是C++中的一个保留关键字。2在重命名你的函数之后,它就可以工作了。

相关问题