Итак, я проследил это, и раздел комментариев дал мне проблему, я нахожусь в конце списка ссылок, и я хочу изменить nullptr на новый узел * q, но я сохраните исходный список ссылок без недавно добавленного узла.append function и nullptr не работает
Node* append(int x, Node* p) {
Node *q=new Node;
Node *head=p;
if(p==nullptr) {
p=q;
q->value=x;
}
while (p!=nullptr) {
p=p->next;
}
//arrived at NULL ptr
q=p->next; //<---this is causing my program to crash.
q->value=x;
q->next=nullptr;
return head;
}
Я предпочитаю 'если (! Р)' в 'если (р == nullptr)' и 'while (p)' to 'while (p! = nullptr)'. Во всяком случае, вы зацикливаете до тех пор, пока 'p' не будет иметь нулевой указатель, а затем разыщите его. – chris