| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 350 人关注过本帖
标题:关于“删除数据”的函数
只看楼主 加入收藏
最左边那个
Rank: 4
等 级:业余侠客
威 望:3
帖 子:97
专家分:201
注 册:2009-4-24
结帖率:75%
收藏
已结贴  问题点数:20 回复次数:1 
关于“删除数据”的函数
大家好。请问下,下面是我代码里的一部分,是通过学号来删除那一学号所属的结构,在IF的{}里我本来想写 delete []student的,可是发现不行,我看不出为什么不行,请教一下大家,为什么?那应该怎么样才行?
   double StuNo;
    cout<<"学号: \n";
    cin>>StuNo;
    f.seekp(0,ios::end);
    long posEnd=f.tellp();
    f.seekp(-long(sizeof(studentData)),ios::cur);
    studentData student;
    do
    {
        f.read((char *) & student,sizeof(studentData));
    }while(student.StuNo!=StuNo  &&  f.tellp()!=posEnd);
    if(student.StuNo==StuNo)
    {

    }
搜索更多相关主题的帖子: 函数 删除数据 
2009-08-30 21:06
debroa723
Rank: 10Rank: 10Rank: 10
等 级:贵宾
威 望:23
帖 子:862
专家分:1954
注 册:2008-10-12
收藏
得分:20 
delete和new要成对出现,所提供的代码看不出有什么地方new的,而且也看不出是new的数组,所以使用delete []是一个疑问。
还有,对这个结构体或是类是否重载了delete []操作符,如果没有,对它的实例做delete []操作是不对的,delete一个临时变量是不合法的语法,它只是个临时变量,不是指针,也没有new一块内存给它,为什么要去delete它。如果它的成员有指针,并在某种机制下new出了空间,是应该delete,但先得把delete给重载。

[ 本帖最后由 debroa723 于 2009-8-31 00:19 编辑 ]
2009-08-31 00:14
快速回复:关于“删除数据”的函数
数据加载中...
 
   



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

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