DELETE数组和指针问题,有没有办法处理

睿音 2006-11-21 03:41:11
在bcb5.0中,我在不同的if语句里定义了2个相同的数组,具体如下:
if(x=1)
{
int temp[20];
/...
.../
delete[] temp;
}
if(y=2)
{
int temp[20];
/...
.../
delete[] temp;
}
/...
.../
当条件语句同时运行很少时,比如只是x=1,y=2时,系统并不会报错误.如果当这样的程序多了以后,bcb系统会提示Access violation at address 41004bbe in module ''BORLNDMM.DLL'.返回程序后提示问题出现在delete[] temp;上.我猜想可能是因为系统回收内存问题.不知道如何才能解决.不希望在每个if中定义不同的数组.
希望各位大侠指点下.
...全文
146 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
睿音 2006-11-22
  • 打赏
  • 举报
回复
MEFULEU(没有作不到,只有想不到) 正解,看到帖子我才突然反应过来.删掉所有delete正常.
真晕~结贴
tiana0525 2006-11-21
  • 打赏
  • 举报
回复
没有new,delete干吗阿?
MEFULEU 2006-11-21
  • 打赏
  • 举报
回复
静态数组,不用delete
FFSB 2006-11-21
  • 打赏
  • 举报
回复
问题应在你不愿意贴出来的代码上。
BORLNDMM.DLL没有这样的BUG.
daydayup234 2006-11-21
  • 打赏
  • 举报
回复
int temp[20];放if外头,只一个

if中new和delete试验

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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