我有一个函数,在链表的尾部插入一个新节点:
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
}
编译器给出一个错误:"insert"未声明的第一次使用这个函数。我错过了什么?
你错过了像
some_linked_list->insert(some_node_ptr, ...)
或者你可以让copydata成为LinkedList类的成员:
void LinkedList::copyData(Node* sourcePtr, Node*& headPtr, Node*& tailPtr)
LinkedList::insert
是您的LinkedList
类中的方法。您需要该类的一个实例来调用它。
LinkedList *myLinkedList = new LinkedList();
myLinkedList->insert( ... );