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
?C++刪除段錯誤
Class* myObject = new Class();
/***/
delete(myObject); /* myObject = NULL ? */