当我编程使用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