Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/159.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 利用双链接列表中的下一个指针_C++_List_Search_Nodes_Doubly Linked List - Fatal编程技术网

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下一步进行移动

可能是您的大小错误,或者您的节点在另一个函数中链接不正确。不管怎样,我们都没有足够的话要说。请提供一个答案。