为什么我的链表代码会导致链接错误?

时间:2011-06-01 08:02:57

标签: c++

我是链接列表的新手,我很难用它。我正在尝试显示一些我已经附加到节点的值,但我不断收到链接器消息。这是我到目前为止所拥有的。

LinkList.h
-


    #ifndef LINKLIST_H
    #define LINKLIST_H

    class LinkList
    {
    private:
        struct ListNode
        {
            int value;
            ListNode *next;
        };

        ListNode *head;

    public:
        LinkList();
        void insertNode(int);

        void deleteNode(int);
        void appendNode(int);
        void display() const;

        //~LinkList();
    };
    #endif


Impl.cpp
-

    #include <iostream>
    #include "LinkList.h"
    using namespace std;

    void LinkList::appendNode(int num)
    {
        ListNode * newNode;
        ListNode * nodePtr;

        newNode = new ListNode;
        newNode->value = num;
        newNode->next = NULL;

        if(!head)
        {
            head = newNode;
            head->value = num;
            head->next=NULL;
        }
        else
        {
            nodePtr = head;

            while(nodePtr->next!=NULL)
                nodePtr = nodePtr->next;
            newNode = new ListNode;
            newNode->value = num;
            newNode->next = NULL;

            nodePtr->next = newNode;
        }
    }

    void LinkList::display() const
    {
        ListNode *nodePtr;
        nodePtr = head;

        while (nodePtr != NULL)
        {
            cout << nodePtr->value << endl;

            nodePtr = nodePtr->next;
        }
    }

链表::链表() {     head = NULL; }

main.cpp
-


    #include <iostream>
    #include "LinkList.h"

    using namespace std;

    int main()
    {
        LinkList mine;

        mine.appendNode(6);
        mine.appendNode(9);
        mine.appendNode(11);

        mine.display();

        return 0;
    }

我修复了一些初始问题,但程序在运行时崩溃了,我不知道为什么

我不确定问题是什么,非常感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

您声明了一个LinkList构造函数和一个析构函数,但您没有定义它们:

LinkList::LinkList() : head(NULL)
{
}

LinkList::~LinkList()
{
    // delete your memory here...
}