我想制作一个单向列表,但我不知道为什么会出现无限循环。问题出在 clearList() 方法中
class List
{
private:
Document document;
List* nextPtr;
public:
List()
:document(), nextPtr(NULL)
{
cout << "class List: CONSTRUCTOR (default)\n";
}
List(const Document& d)
:nextPtr(NULL)
{
cout << "class List: CONSTRUCTOR (init)\n";
document = d;
}
~List()
{
cout << "class List: DESTRUCTOR\n";
freeList(this);
}
void freeList(List* top)
{
if(top != NULL)
freeList(top->nextPtr);
delete top;
}
};
这是主程序:
int main()
{
List list1;
return 0;
}
这就是我所拥有的