0
我試圖爲所創建的鏈表Iv的對象實現一個析構函數。我做了一個名爲MakeEmpty的函數,我只是在析構函數中調用它。它正確地編制的第一次,但現在,我得到一個錯誤瞬間崩潰說:試圖破壞我的鏈接列表時出錯?
表達:_BLOCK_TYPE_IS_VALID(pHead-> nBlockUse)
有人可以幫助我弄清楚什麼是錯的?我運行了調試器並指出錯誤出現在代碼中,但我無法弄清楚什麼是錯誤的。
這是MakeEmpty()函數
void WORD::MakeEmpty()
{
alpha_numeric *p = (*this).front;
if((*this).IsEmpty())
{
cout <<"Already empty"<< endl;
return;
}
while(front != 0)
{
front = front -> next;
delete p;//<<<<---DEBUGGER SAYS ERROR HERE
p = front;
}
return;
}
你是否遵守班級中的三條規則?錯誤聽起來像你缺少一個拷貝構造函數或一個拷貝賦值操作符。 –
你刪除了兩次 – Dani
@FlorianSowade ohh yeaa,就是這樣,把它作爲答案,以便我可以標記它是正確的 – Mike