new一个数组 ,然后delete掉其中一个元素,程序竟然崩溃?解决办法

new一个数组 ,然后delete掉其中一个元素,程序竟然崩溃?
rt,这是为什么呢?编译没错,运行到delete那一步直接崩溃。。。为啥呢?

------解决方案--------------------
这不是必然的吗???

new 和delete必须配对使用.

------解决方案--------------------
代码不贴出来,怎么帮你解决
------解决方案--------------------
int * a = new int[10]; delete a[2] ; 
楼主是用的这种么?
建议楼主去看一下new和delete的实现,或者看一下windows下堆的实现方式,这样才能更清晰的认识new 和delete究竟干了什么。
------解决方案--------------------
越界?
------解决方案--------------------
new和delete是配套使用的
你弄个delete q
那p怎么办啊
------解决方案--------------------
把代码贴出来吧,delete释放的是一个指针,如果你使用delete如楼上所说,那么就会出现错误。
------解决方案--------------------
用new [] 申请的,要用delete []释放,
用new 申请,用delete 释放
------解决方案--------------------
探讨

给2楼和3楼:
int * p = new int[10];
int * q = p+5;
delete q;

------解决方案--------------------
既然不了解new和del的细节,就老老实实的按着课本上的方法用。

想创新,必须要了解本质,呵呵呵
------解决方案--------------------
看看effective c++
delete/new
delete []/new []
要配对使用
------解决方案--------------------
你只能delete由new所产生的指针——不是改变过的,也不是由它计算出的。

否则,非常高效的C++会很简单直接的把你的内存破坏掉。不过不用担心,至少这些内存在物理上仍旧完好。
------解决方案--------------------
探讨
你只能delete由new所产生的指针——不是改变过的,也不是由它计算出的。

否则,非常高效的C++会很简单直接的把你的内存破坏掉。不过不用担心,至少这些内存在物理上仍旧完好。

------解决方案--------------------
探讨

引用:
你只能delete由new所产生的指针——不是改变过的,也不是由它计算出的。

否则,非常高效的C++会很简单直接的把你的内存破坏掉。不过不用担心,至少这些内存在物理上仍旧完好。

求助:用普通代码破坏物理内存的方法.

------解决方案--------------------

new和delete
以及
new[]和delete[]

fopen和fclose
那样用!