首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

找不到哪个指针没回收了,们帮看一下

2012-03-22 
找不到哪个指针没回收了,大虾们帮看一下啊voidfamilytree::clear(){recursive_clear(root)}voidfamilytre

找不到哪个指针没回收了,大虾们帮看一下啊
void   familytree::clear()
{
recursive_clear(root);
}

void   familytree::recursive_clear(Person   *&sub_root)
{
Person   *temp=sub_root;
if(sub_root==NULL)   return;
recursive_clear(sub_root-> child);
recursive_clear(sub_root-> brother);
sub_root=NULL;
delete   temp;
}
familytree::~familytree()
{
      clear();
}
其中root,为指向person   结构体的指针,是familytree类的保护变量,
child和brother都是person结构体中指向person结构体的指针。
编译链接没问题,运行到主程序最后一句时报错,我查了一下就是有指针没回收,
当我把析构函数中的clear();注释掉以后程序就没问题了,所以我怀疑是clear()函数没有处理好,可是我找不到啊,找了一天了,大虾们帮忙啊

[解决办法]
m

热点排行