MyException - 我的异常网
当前位置:我的异常网» C++ » 小弟写的链表析构函数不知道为何陷入死循环,请高人

小弟写的链表析构函数不知道为何陷入死循环,请高人能指点;不胜感谢(2)

www.MyException.Cn  网友分享于:2013-02-16  浏览:1次

public:
        ListNode (int k):myValue(k), myNext(0) {}
        ListNode (int k, ListNode* ptr):myValue(k), myNext(ptr) {}//这个函数可以不用
        ~ListNode ();
        int First () {return myValue;}
        ListNode* Reset () {return myNext;}
void SetLink(List* next){myNext = next;}//增加一个函数,链接下一个节点
        void Print (){};
};

#endif

////////////////////////////list.cpp///////////////////////
ListNode::~ListNode () {
    ListNode* temp = 0;
    cout << "Delete node of value " << myValue << endl;
    ListNode* ptr = this;
    while (ptr) {
        temp = ptr->myNext;
        delete ptr;
        ptr = temp;
    }
}

ListNode* FromInput (istream &is) {
    ListNode* head = NULL;
int k;
if(is >> k)
{
head = new ListNode(k);
}
    ListNode* node = head;
    while (is >> k) {
        node->SetLink( &LinkNode(k) );//链接下一个节点(下一个节点的myNext是NULL)
node = node->Reset();//将临时节点设置为下一个节点
    }
    return head;
}

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有