void deleteElement(LinkedListElement<char> *&pending)
{
if (pending->Next) {
char value = pending->Next->Data;
pending->Data = value;
LinkedListElement<char> *temp = pending->Next;
pending->Next = pending->Next->Next;
delete temp;
}else{
pending = NULL;
//pending =nullptr;
delete pending;
}
}
C++ の単純な削除ノードで質問したいのは、リンクされたリストが end の場合は else ステートメントにあるため、自分自身を削除するだけで、値を参照 (&) で渡すことができますが、機能しません。
void deleteElement(LinkedListElement<char> *&pending)
{
if (pending->Next) {
char value = pending->Next->Data;
pending->Data = value;
LinkedListElement<char> *temp = pending->Next;
pending->Next = pending->Next->Next;
delete temp;
}else{
delete pending;
//pending = NULL;
}
}
私はこの方法を試してみましたが、常にエラーが発生しました: malloc: * オブジェクト 0x100103b40 のエラー: 解放されているポインターが割り当てられていませんでした *デバッグするために malloc_error_break にブレークポイントを設定します