遇到错误“非const左值引用类型'节点*'无法绑定到''节点*'

时间:2016-02-16 00:20:00

标签: c++ linked-list const nodes

我正在尝试实现读取文本文件的节点类,并将每个单独的行存储到链接列表的节点中。但是,当我尝试构建它时,我收到标题中列出的错误。

它似乎来自getNextPointer函数,用于返回列表中下一个节点的指针。

//Function Declaration
const node* getNextPtr() const;

//Function Definition: void insertAfterNode(node* previous_ptr,node::dataType &newData)

{
    node* insertPtr;

    insertPtr = new node;
    insertPtr->node::setData(newData);
    insertPtr->node::setNextPtr(previous_ptr->getNextPtr());
    previous_ptr->node::setNextPtr(insertPtr);

}

该函数应在指针发送到参数后插入单个节点。

前提条件:previous_ptr指向链表中的节点。

后置条件:在包含给定条目的新节点之后添加 previous_ptr指向的节点。 注意:如果没有充分分配动态内存,此函数也会抛出bad_alloc错误。

我收到insertPtr->node::setNextPtr(previous_ptr->getNextPtr());行的错误。我知道它与我的const定义有关。但我想不出其他任何地方添加或删除const以使其工作。当我把const放在previous_ptr之前时这样:insertPtr->node::setNextPtr(const previous_ptr->getNextPtr());我得到一个更普遍的错误,只是从同一行说出“期望表达式”,但似乎并没有让我更接近成功的构建。我是链接列表和OOP的新手,所以请告诉我任何重要的事情。谢谢。

0 个答案:

没有答案