単一循環リンクリスト内のすべてのノードを削除しようとしています。しかし、私はエラーを次しまっ:後C++循環リンクリスト - すべてのノードを削除する
malloc: *** error for object 0x1005068f0: pointer being freed was not allocated
は関数である。
void StudentLinkList::removeAll() {
StudentData *traversePointer = this->head;
while (this->head != nullptr) {
this->head = this->head->getNext();
delete traversePointer;
traversePointer = nullptr;
traversePointer = this->head;
this->size--;
}
}
私はこの行のエラーを取得:
delete traversePointer;
私の質問は、なぜwhileループに割り当てられていないtraversePointerということですエラーのように?
は、あなたの質問は何ですか? – user463035818
循環リンクされたリストで、 'this-> head = this-> get-> getNext();は、あなたが最初に戻ったときに動作すると思いますか?デバッガを使用してください.... –
エラーは非常に率直に非常に説明的です...あなたは本当にうれしいです...私はこれらの種類のエラーを受けたがっています... – WhiZTiM