c++ for循环new问题: int *p[10] ; for(i=0;i<10;i++) { p[i] =new int(i); } 我用
答案:4 悬赏:50 手机版
解决时间 2021-11-13 02:33
- 提问者网友:像風在裏
- 2021-11-12 09:17
c++ for循环new问题: int *p[10] ; for(i=0;i<10;i++) { p[i] =new int(i); } 我用
最佳答案
- 五星知识达人网友:时间的尘埃
- 2021-11-12 09:36
int *p[10] ;
for(i=0;i<10;i++)
{
p[i] =new int(i);//这一句不对吧,应该是p[i]=new int;
}
我用
for(i=0;i<10;i++)//new 和delete是一一对应的,先先分配的后删除,后申请的先删除,那么就应该时这样的:for(i=9;i>=0,i--) delete p[i]; (i在前面的程序段中应该已经定义过了..否则会报错)
{
delete p[i] ;
}
按照我的建议试试...
祝你好运
for(i=0;i<10;i++)
{
p[i] =new int(i);//这一句不对吧,应该是p[i]=new int;
}
我用
for(i=0;i<10;i++)//new 和delete是一一对应的,先先分配的后删除,后申请的先删除,那么就应该时这样的:for(i=9;i>=0,i--) delete p[i]; (i在前面的程序段中应该已经定义过了..否则会报错)
{
delete p[i] ;
}
按照我的建议试试...
祝你好运
全部回答
- 1楼网友:渊鱼
- 2021-11-12 13:13
你的代码在VC++6 下运行没有错误
- 2楼网友:七十二街
- 2021-11-12 12:04
你的释放内存的方法是对的,如果有错的话可能是别的地方出错。
- 3楼网友:底特律间谍
- 2021-11-12 10:41
首先...你把for循环改成for(int i=0;i<10;i++)就可以了...
其次...你还可以直接delete *p;
其次...你还可以直接delete *p;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯