| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 262 人关注过本帖
标题:新来这里,问一道改错题,希望得到你们的指点,谢谢
收藏  订阅  推荐  打印
yinhorse
Rank: 1
等级:新手上路
帖子:27
积分:382
注册:2008-8-5
新来这里,问一道改错题,希望得到你们的指点,谢谢

我正在自考计算机应用,周围也没有人懂C++,希望大家能够帮助我这样的学生

麻烦解释下答案


假设有一个正确定义的类Test,改正主程序中的错误.
void main(){
test *two[2]={test(4,5),test(6,8)};
for(i=0;i<2;i++)
delete two[i];
}
2008-8-5 23:31
blueboy82006
Rank: 12Rank: 12Rank: 12
来自:幻想世界
等级:版主
威望:16
帖子:1212
积分:12084
注册:2007-7-23

delete two[i];

闭关修炼中!......
2008-8-5 23:35
blueboy82006
Rank: 12Rank: 12Rank: 12
来自:幻想世界
等级:版主
威望:16
帖子:1212
积分:12084
注册:2007-7-23

我还不知道你那个类具体是怎么写的,
就现在来看,肯定是delete two[i];
有问题了,
因为,
如果指针指向不是用new分配的内存地址,则在该指针上使用delete是不合法的。

闭关修炼中!......
2008-8-5 23:40
yinhorse
Rank: 1
等级:新手上路
帖子:27
积分:382
注册:2008-8-5

嗯,delete要和new一起作用,
有人说这么改
test *two[2];
two[0]=new test(4,5);
two[1]=new test(6,8);

还有那个for循环条件也不对


虽然知道答案了,但是这是 特殊函数和成员 一章的题,这题目不搭界...
2008-8-6 00:33
loveff
Rank: 1
等级:新手上路
帖子:1
积分:110
注册:2008-8-6

能不能改成一些比较简单的复合程序结构啊。。。这样就能避免结构错误了。。。
2008-8-6 09:12
zerocn
Rank: 2
等级:注册会员
帖子:124
积分:1458
注册:2006-4-11

引用:
yinhorse 在 2008-8-6 00:33 的发言:

嗯,delete要和new一起作用,
有人说这么改
test *two[2];
two[0]=new test(4,5);
two[1]=new test(6,8);

还有那个for循环条件也不对


虽然知道答案了,但是这是 特殊函数和成员 一章的题,这题目不搭界.. ...
void main(){
test *two[2];
two[0]=new test(4,5);
two[1]=new test(6,8);
for(i=0;i<2;i++)
delete two[i];
}


没有定义I
2008-8-6 18:47
共有 261 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.059748 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved