!=私は現在、list と int を引数として取り、int が見つかって削除された場合は true を返し、リストに見つからなかった場合は false を返す次の erase recursive bool 関数に取り組んでいます。動作しているように見えますが、問題は、現在のではなく、リスト内の次の int 番号を削除することです:
typedef struct E_Type * List;
struct E_Type
{
int data;
List next = 0;
};
bool erase(const List & l, int data){
List current = l;
if (current == 0)
{
return false;
}
else if (current->data == data)
{
List deleteNode = new E_Type;
deleteNode = current->next;//probably this causes the error, but how can I point it to the current without crashing the program
current->next = deleteNode->next;
delete deleteNode;
return true;
}
else if (current->data != data)
{
return erase(current->next, data);
}
}