Привет, ребята, извините, но я новичок в двусвязных списках и задавался вопросом, может ли кто-нибудь сказать мне, почему моя программа вылетает, когда я использую add_end()?Списки ссылок в C++
#include <iostream>
using namespace std;
node *start_ptr = NULL;
node *current;
int option = 0;
void add_end()
{
node *temp, *temp2;
temp = new node;
cout << "Enter name: ";
cin >> temp->name;
cout << "Enter profession: ";
cin >> temp->profession;
cout << "Enter age: ";
cin >> temp->age;
temp->nxt = NULL;
if (start_ptr = NULL)
{
start_ptr = temp;
current = start_ptr;
}
else
{
temp2 = start_ptr;
while (temp2->nxt != NULL)
{
temp2 = temp2->nxt;
}
temp2->nxt = temp;
temp->prv = temp2;
}
}
Уточнитните «аварии». –
Где именно находится 'node'? Любая причина, в частности, вы не используете 'std :: list' (или даже лучше' std :: vector')? –
Возможная ошибка: если «(start_ptr = NULL)» устанавливает start_ptr равным NULL. Я думаю, что вы имели в виду «if (start_ptr == NULL)» –