XXX Destory(A * a){
delete a;
LOG("COME HERE");
}
当程序运行到该函数时, delete a后(无法确定delete是否成功), 进程卡死, 无法执行后下一行LOG("COME HERE");
对象a, 非NULL,非野指针,对象a创建到销毁没有做其他改变(值没有变化)
类A中没有成员变量,有枚举类型定义,和一些成员函数
目前将delete 注释后, 程序可以正常运行
将 a 的代码贴出来。
a的内存是在stack上分配的,无需delete
a是new出来的
@Neo_Lc: 方法参数中的a只是a的一个拷贝,方法调用结束就会被销毁
@Neo_Lc: 推荐一篇博文:函数调用过程探究
你其他地方有用到传进来的这个a,你这里delete a,其它地方的a没有了,就报异常了
delete a的时候会调用a的析构函数,看看是不是析构函数执行的时候导致死锁了。