4

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(){
}
4

3 に答える 3

10

delete というメソッドがありますが、delete は C++ のキーワードです

于 2013-09-18T12:02:07.250 に答える
3

deleteは C++ の予約キーワードです。関数の名前を変更する必要があります。

于 2013-09-18T12:02:17.970 に答える
1

このコードには 2 つのエラーがあります。関数に名前を付けましdeleteたが、deleteC++のキーワードです。2 つ目の問題は、関数内の次の行です。delete

curr next = temp -> next;

次のようになります。

curr->next = temp -> next;
于 2013-09-18T12:05:10.413 に答える