2013-03-03 46 views
1

我正在寫一個簡單的(非常簡單的)鏈表來刷新我的編程技巧,但顯然,我失敗了,因爲我得到了這個編譯器錯誤,我無法弄清楚什麼是錯的。問題是與刪除功能:預計在bool函數之前的非限定ID?

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; 
    } 

我得到預期'delete'之前的非限定id。

我認爲它可能是與它上面的插入功能的東西,但是當我完全註釋掉刪除功能,程序編譯沒有問題。

+3

更改函數名稱。 – 2013-03-03 03:00:26

+0

在C++中選擇'new/delete'作爲'malloc/free'(只有當你需要手動管理它時)。 – chris 2013-03-03 03:10:20

回答

1

delete是C++中的關鍵字。您不能將其用作標識符。

+0

謝謝你的幫助!它也有助於轉換語法突出顯示,所以我可以看到。哈哈。 – cooper 2013-03-03 03:02:46

相關問題