关于类析构函数的问题

tanyufeng_521 2013-10-14 09:45:22
我是从CListCtrl继承来的一个CFriendList,但是一下代码在析构的时候出问题

CListCtrlEx::~CListCtrlEx()
{
LISTDATA *pListData = (LISTDATA *)GetItemData(0);
while(pListData)
{
delete pListData;
DeleteItem(0);

pListData = (LISTDATA *)GetItemData(0);
}
}


我调试时发现问题是出在GetItemData()上,运行这条语句后程序出现崩溃,大家有知道的求指点
...全文
187 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanyufeng_521 2013-10-14
  • 打赏
  • 举报
回复
引用
最好在 OnDeleteitem 中清除此类数据

试了下,可以,谢谢!!!!
tanyufeng_521 2013-10-14
  • 打赏
  • 举报
回复
引用
可以放到一个容器里保存这些指针,或者响应LVN_DELETEITEM 删除

放在容器里是可以,但感觉没有放在对应的item上好。响应LVN_DELETEITEM应该和在OnDeleteItem()里处理是一样的,都可以的
hurryboylqs 2013-10-14
  • 打赏
  • 举报
回复
可以放到一个容器里保存这些指针,或者响应LVN_DELETEITEM 删除
ok1234567 2013-10-14
  • 打赏
  • 举报
回复
最好在 OnDeleteitem 中清除此类数据
tanyufeng_521 2013-10-14
  • 打赏
  • 举报
回复
引用
类都析构了,就不要获取窗口的信息了,肯定会出问题的


那怎样在类析构之前删除用SetItemData保存的数据呢???求指教
hurryboylqs 2013-10-14
  • 打赏
  • 举报
回复
类都析构了,就不要获取窗口的信息了,肯定会出问题的

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧