我有一个函数,可以在链表的末尾插入一个新节点:

void LinkedList::insert(Node* previousPtr, Node::value_type& newData)
{
    Node *insertPtr;

    insertPtr->setData(newData);

    insertPtr->setNext(previousPtr->getNextPtr());

    previousPtr->setNext(insertPtr);
}


在另一个函数中,我试图调用上一个:

void copyData(Node* sourcePtr, Node*& headPtr, Node*& tailPtr)
{
    ...//other code
    insert(tailPtr, sourcePtr->getData());
    ...//other code
}


编译器给出错误:未声明“插入”,请首先使用此函数。我想念什么?

最佳答案

您缺少类似的东西

some_linked_list->insert(some_node_ptr, ...)


或者,您可以使copydata成为LinkedList类的成员:

void LinkedList::copyData(Node* sourcePtr, Node*& headPtr, Node*& tailPtr)

10-06 07:18
查看更多