今天傍晚发现一个问题 0xC0000008
关闭程序时 提示这个错误
其实是因为 delete了一些没有初始化或者已经被delete的指针引起的
第二个原因是自己没有定义某些类的析构函数
如
class A
{
P*p;
}
class B
{ A *a=new A;
P p;
a.p=&p;
~B()
{
delete a;
}
}
此时当B析构时,会析构掉p,
而A因为保存了一个P的指针,因此使用默认的析构函数时也会delete p;
但是此时p的实体已经在B中析构了,此时delete p就会引起错误。