评论会员:游客 时间:2012/02/04
删除异常通常意味着你在使用过程中超过分配的界限......我想看看在{C}使用codeprelang="c++"sSnpDesc/pre/code的运行
菲利普・森
评论会员:游客 时间:2012/02/04
把你的析构函数中的断点。得到一个异常的主要原因是由于错误的代码两次,被称为"destrcutor
Stefan_Lang:问题是不是在你的类定义,它是在使用它的代码。
虽然...因为你从CObject继承CSNP,你应该让你的析构虚的,除非你绝对肯定,没有阶级将永远继承CSNP! (但是这是最有可能不是你的问题的原因)
在删除的异常可能会导致
1。 CSNP实施::〜CSNP()(例如通过调用虚函数或访问其他的已经被销毁的数据)
2。调用delete []时,删除或反之亦然被称为
3。反复调用析构函数,电子。克。因为在某处它直接调用(这可能发生在上述案例2中,或当你的对象(S)存储在一些容器,需要特殊照顾的破坏,你也这样做)
4。很多其他原因,是相当困难的决定不使用调试器(换句话说,如果没有上述情况,使用调试器)