VC2010 中出现“触发一个断点,其原因可能是堆被损坏” 的错误。

在代码聪 VC6.0 转到 VC2010上时出现:Windows 已在 ****.exe 中触发一个断点。

其原因可能是堆被损坏,这说明 ***.exe 中或它所加载的任何 DLL 中有 Bug。

原因也可能是用户在 ****.exe 具有焦点时按下了 F12。

输出窗口可能提供了更多诊断信息。

的错误。

找了下。是说new的变量没delete(但是我确实delete了)。代码多次检查。发现,变量的作用域问题。

我声明时是在一个循环前。而我是在循环结束的时候delete的。

在循环外边delete就可以了。

PS:在VC6.0上是没问题的。而且就C++语言规则来说,是可以在循环里面delete的。具体为什么还是不怎么明白。

现在知道为什么必须在循环外面delete了,如果在里面delete就多次删除,而只new了一次。所以会出错,⊙﹏⊙b汗。

posted on 2011-08-09 17:30  静幽独白  阅读(4625)  评论(0编辑  收藏  举报

导航