'删除'功能之前的预期Unqualified-Id

时间:2013-09-18 12:00:39

标签: c++

我写了一个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(){
}

3 个答案:

答案 0 :(得分:9)

您有一个名为delete但delete is a keyword in C++的方法。

答案 1 :(得分:3)

delete是C ++中的保留关键字。你必须重命名你的功能。

答案 2 :(得分:1)

此代码中有两个错误,您在 C ++ 中命名了您的函数deletedeletekeyword,第二个问题是此行在delete函数中:

curr next = temp -> next;

看起来应该是:

curr->next = temp -> next;