| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1001 人关注过本帖
标题:C++用到CObArray类时,出现空指针的问题,帮忙啊!!
只看楼主 加入收藏
hong4781798
Rank: 1
来 自:中国河北
等 级:新手上路
帖 子:28
专家分:0
注 册:2010-4-17
结帖率:90%
收藏
已结贴  问题点数:10 回复次数:7 
C++用到CObArray类时,出现空指针的问题,帮忙啊!!
编写驾驶证管理的时候变量为CObArray类的,当用完后不知道如何释放空间,撤销操作时会出现错误,不明白,望大虾们帮忙啊!!
图片附件: 游客没有浏览图片的权限,请 登录注册
搜索更多相关主题的帖子: CObArray 指针 
2010-10-19 00:37
hong4781798
Rank: 1
来 自:中国河北
等 级:新手上路
帖 子:28
专家分:0
注 册:2010-4-17
收藏
得分:0 
回复 楼主 hong4781798
程序的代码有这两个文件因为太大了,所以只好单个的贴上来了,望大侠们多多帮忙啊!初学C++,谢谢!!
licence.rar (702 Bytes)
licence00.rar (1.95 KB)
2010-10-19 00:39
hahayezhe
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖南张家界
等 级:贵宾
威 望:24
帖 子:1386
专家分:6999
注 册:2010-3-8
收藏
得分:0 
查找MSDN 看相关类的使用说明 和包含的成员函数
2010-10-19 08:59
lintaoyn
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:606
专家分:2499
注 册:2009-4-8
收藏
得分:5 
程序代码:
int manager::cancel (CString id)
{
//    licence *lic=new licence();
    for(int i=0;i<licences.GetSize();i++)
    {
        licence *lic = (licence *)licences.GetAt(i);
        if(! (lic->getid()))
        {     
//            delete lic;
            licences.RemoveAt (i);
            break;
        }
    }
    return 0;
}
licences.GetAt(i)返回的是CObject*。
还有for里面的,lic是不是还指向用new申请的为licence分配的内存。
我说不清,几个类看的也不是很明白,但是这样改了运行时,不会有报错了。
总之delete只能释放由new申请的内存,可以用基类的指针去释放实际为其派生类的内存(基类的析构函数得是虚的),反过来是不行的。

迭代的是人,递归的是神。
2010-10-19 09:29
missiyou
Rank: 5Rank: 5
等 级:贵宾
威 望:16
帖 子:531
专家分:218
注 册:2007-10-9
收藏
得分:5 
licence::~licence()
    {
      delete[] name;
      
    }

char *name ;

初始化:
     name = new char[length];
     strcpy(name, desc);
上面对话框的意思是释放堆内存失败
2010-10-19 10:01
hong4781798
Rank: 1
来 自:中国河北
等 级:新手上路
帖 子:28
专家分:0
注 册:2010-4-17
收藏
得分:0 
回复 3楼 hahayezhe
好的,谢谢了
2010-10-19 12:34
hong4781798
Rank: 1
来 自:中国河北
等 级:新手上路
帖 子:28
专家分:0
注 册:2010-4-17
收藏
得分:0 
回复 4楼 lintaoyn
好的,十分感谢啊
2010-10-19 12:37
hong4781798
Rank: 1
来 自:中国河北
等 级:新手上路
帖 子:28
专家分:0
注 册:2010-4-17
收藏
得分:0 
回复 5楼 missiyou
谢谢
2010-10-19 12:39
快速回复:C++用到CObArray类时,出现空指针的问题,帮忙啊!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019064 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved