Look at the line: while(node->next!= nullptr)
. This code gives me a bad alloc error.
However, when it is changed to while(node!= nullptr)
, it runs fine. Can someone explain why this error occurs?
void deleteNode(SNode <Object>* & node, Object given)
{
SNode <Object>* temp= node;
if(node->data== given)
{
node= node->next;
delete temp;
temp= nullptr;
}
while(temp->next!= nullptr) //this the problematic line
{
if(temp->next->data== given)
{
SNode<Object>* t= temp->next;
temp->next= temp->next->next;
delete t;
t= nullptr;
}
temp= temp->next;
}
}