C++ 利用双链接列表中的下一个指针
我在搜索、选择和替换功能方面遇到了一个问题。特别是,某一行代码导致我的程序崩溃—它刚开始运行,然后崩溃,表示执行失败。这是我的搜索功能的代码,同一行代码导致程序崩溃:C++ 利用双链接列表中的下一个指针,c++,list,search,nodes,doubly-linked-list,C++,List,Search,Nodes,Doubly Linked List,我在搜索、选择和替换功能方面遇到了一个问题。特别是,某一行代码导致我的程序崩溃—它刚开始运行,然后崩溃,表示执行失败。这是我的搜索功能的代码,同一行代码导致程序崩溃: unsigned int DoublyLinkedList::search(DataType value) const { if (size_ == 0) return size_; else { Node* temp = head_; for (i
unsigned int DoublyLinkedList::search(DataType value) const
{
if (size_ == 0)
return size_;
else
{
Node* temp = head_;
for (int i = 0; i < size_; i++)
{
if (temp->value == value)
return i;
temp = temp->next;
}
return size_;
}
}
据所有人说,我相当肯定这段代码应该按预期工作。但是,似乎temp=temp->next行正在使程序崩溃,在没有该行的情况下运行该函数工作得非常好
我曾尝试在EclipseIDE、Dev-C++中运行此功能,但两者似乎都失败了。在我的代码中是否还有我没有想到的问题
感谢您的帮助。因为您在使用construction temp->next时取消了对空指针的引用。 在此之前,将iftemp下一步进行移动可能是您的大小错误,或者您的节点在另一个函数中链接不正确。不管怎样,我们都没有足够的话要说。请提供一个答案。