我不知道爲什麼我得到這個段錯誤。我認爲這可能與列表遍歷有關。我在最後猜測,它仍然試圖遍歷,但它看到一個nullptr。刪除鏈接列表C++中的重複項(段錯誤)
我試着把另一個條件,在那裏檢查是否nextNode是一個nullptr然後停止遍歷,但我無法得到它的工作。
我錯過了什麼?
void LinkedList::removeDuplicates()
{
Node* traverse = m_front;
Node* nextNode = traverse->getNext();
Node* duplicate = nullptr;
if (!isEmpty())
{
while(traverse != nullptr)
{
if (traverse->getValue() == nextNode->getValue())
{
std::cout << "Found duplicate\n";
duplicate = nextNode;
nextNode = nextNode->getNext();
delete duplicate;
duplicate = nullptr;
traverse->setNext(nextNode);
}
traverse = nextNode;
nextNode = nextNode->getNext();
}
}
}
對於崩潰,請包括崩潰發生的行號以及堆棧跟蹤。 – MrEricSir