挿入、循環リンクリストでの検索は完了しましたが、削除のためにコンパイラエラーが発生しています...
以下は、ノードの私の構造です。
struct node
{
int p_data;
struct node* p_next;
node(node* head, int data)
{
p_next = head;
p_data = data;
}
explicit node(int data)
{
p_next = nullptr;
p_data = data;
}
};
node* remove_circular(node* head, node* target)
{
if (head == target->p_next)
{
delete head;
return nullptr;
}
auto next_pointer = target->p_next;
target->p_data = next_pointer->p_data;
target->p_next = next_pointer->p_next;
delete target->p_next;
return target;
}
そしてメイン関数で私が呼び出す
head = remove_circular(head, head);
head = remove_circular(head, temp);
これは、 head 要素と temp が指す別の要素を削除することです。しかし、私はエラーが発生しています
循環リストから1つの要素を削除するアイデアはありますか??
target->p_next; を削除するように変更しました。しかし、今ではリスト内のすべてを削除します。何か案が???