當我編程使用Havok,我得到了一個崩潰的程序退出時,Havok的退出在析構函數調用導致未處理的異常
我envlope Havok的功能,以C++類,使主要功能簡單,我打電話havok在我的類的析構函數中退出了函數,但它可能導致「未處理的異常」崩潰。
如果我參加了Havok的靜音功能的析構函數,並把它的主要功能,它會被罰款。我只是想知道爲什麼它不能在析構函數中工作,但在主函數中工作?
我的代碼是:
int HK_CALL main(int argc, const char** argv)
{
HKUTI *myhk = new HKUTI(setupPhysics, 1000);
myhk->run(displayGraphics, 60, 30);
delete(myhk);
myhk = NULL;
hkBaseSystem::quit();
hkMemoryInitUtil::quit();
return 0;
}
2的Havok退出功能hkBaseSystem ::退出();和hkMemoryInitUtil :: quit(); 如果我像上面的代碼那樣在主函數中調用它,程序將完美運行,但是如果我將該2退出函數放入類HKUTI的析構函數中,它將在程序試圖退出時崩潰。我不能看到任何兩種方法的不同,任何人都可以告訴我在C++析構函數中發生了什麼?
非常感謝
非常感謝,您的意見是真正有用的。 – 2011-01-25 12:24:26