高人请出手!delete[]出错

gohill 2003-11-19 10:21:54
在一函数中char* mm=new char[number];//**number为程序运行动态获得
。。。。。。。
然后delete []mm;出错。若number为已知固定数则没问题。
请问这种问题怎么处理?不用delete[]mm会有什么后果?
...全文
23 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
linyd 2003-12-31
  • 打赏
  • 举报
回复
try try
mm = new char[number+1];
gohill 2003-11-19
  • 打赏
  • 举报
回复

我在之前先用mm=NULL;,之后再用delete[] mm;问题先这么解决了。急着完活,等有了说法告我一下。我去加分。
seril 2003-11-19
  • 打赏
  • 举报
回复
开始分配的长度要固定,number值要固定,如果想要动态,可用vector
hpho 2003-11-19
  • 打赏
  • 举报
回复
number是否为负
char* mm=NULL;
try{
mm = new char[number];
.....
delete[] mm;
}
catch(exception& e){
cout << e.what();
}

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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