void EventCloseServer::act(){
Server* serv = Program()::getServer();
if (serv != NULL) {
if (serv->running()) {
serv->stop();
serv->sync();
}
delete (serv);
}
}
当我执行此代码两次时出现问题。第一次,功能delete(serv)正常。第二次,它在调用之前serv->running()和之后导致分段错误serv != NULL。我不明白为什么第二次执行进入第一if条语句。下面的结果不是真的myObject = NULL吗?
Class* myObject = new Class();
/***/
delete(myObject); /* myObject = NULL ? */