一方向のリストを作りたいのですが、ここで無限ループが発生する理由がわかりません。問題は 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;
}
そして、ここに私が持っているものがあります