вывод: место для обнаружения нарушения доступа 0x0093F3DC.указатели C++ - место обнаружения нарушения прав доступа
Я не могу найти проблему. голова и следующие указатели инициализируются нулевым значением в соответствующих конструкторах.
class List{
public:
node *head;
List(void) // Constructor
{
head = NULL;
}
void insertNode(int f)
{
node *newNode;
newNode=new node();
newNode->value = f;
newNode->next=head;
head=newNode;
}
void displayList()
{
node *ptr=head;
while (ptr!=NULL)
{
cout<<ptr->value<<endl;
ptr=ptr->next;
}
}
bool search(int val)
{
node *ptr= head;
while (ptr!=NULL)
{
if(ptr->value == val)
{
return true;
}
ptr=ptr->next;
}
return false;
}
};
Вы назначаете объект-узел на ptr, а затем переписываете его с помощью этого-> head. В чем смысл этого? Правильно ли ptr-> next? Вот почему вы используете отладчик для выполнения кода и пример значений переменных. – OldProgrammer
Этот код недостаточно для правильного ответа. –
Хотя эта функция имеет утечку памяти, тем не менее вы должны показать, как добавить узлы в список. –