、私は主な機能を簡単にするためにC++クラスにHavokの機能をenvlope持っHavokは未処理の例外
を引き起こしデストラクタ中のコールを終了し、私は呼んでhavokはクラスのデストラクタで機能を終了しますが、 "未処理の例外"が発生する可能性があります。
私がhavokのかなりの機能をデストラクタから取り出してmain関数に入れると、それは問題ありません。私はちょうどそれがデストラクタで動作しないが、主な機能で動作するのか疑問に思った?
私のコードは次のとおりです。
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ハボックは機能がhkBaseSystemで終了::()を終了し、およびhkMemoryInitUtil :: quit(); 上記のコードのようなmain関数で呼び出すと、プログラムは完全に実行されますが、2つの終了関数をHKUTIクラスのデストラクタに置くと、プログラムが終了しようとするとクラッシュします。私はその2つのアプローチのいずれかを参照してくださいすることはできません誰もがC + +のデストラクタで何が起こったのか教えてください?非常に多くの
おかげ
ありがとう、あなたのアドバイスは本当に役に立ちます。 –