これは私の前の質問に関連しています。 ベクトルとスタックのオーバーフロー
しかし、うまくいけば、新しい状況(そして私の新しい質問)を説明するでしょう。だから昨日、私はこのスタックオーバーフローの例外に突破口があると思った、私はそれを解決したと思った。その時、私はとても疲れていて、かなりの数のコードがコメントアウトされていましたが。
今朝、ゲームをやり直して、すべてを元に戻すことから始めました。たった30分ほど前に絶望して、昨日克服したと思った血まみれのエラーメッセージが表示されました:/。
残念ながら、最初の質問に戻りましたが、前の質問への回答に移り、敵のアニメーションであると私が信じている根本的な原因を見つけようともう一度考えています。以下は、敵とアニメーションクラスのヘッダーファイルです。
Anim- http://pastebin.com/uKQB1RVq
敵-http ://pastebin.com/pktA1vXi
私の敵のクラスでわかるように、アニメーションを除いて、この例外を引き起こしていると私が感じていることについて話す価値のあるメモは実際にはありません。(他の唯一のものは私のタイマーのクラスです。これはほんの数intとboolであり、これも私がメモリを大量に消費すると見なすことができるものは何もありません。)
だから私の質問はこれです。
- どうすればこれについて100%ポジティブになることができますか?IDE(Visual C ++ 2010)に、使用されているスタックメモリの量を確認する方法はありますか?
- qから続く。1、この問題の解決策は何でしょうか。たとえば、アニメーションが実際に例外の原因であるかどうかは100%確信できませんが、アニメーションをコメントアウトして、アニメーションのベクトルを作成すると、問題なく正常にコンパイルされます。それが進むべき道でしょうか?
*テストシナリオを設定しました。Vector2とRectArrayの配列を20ではなく15に減らすと、プレーンな古い4つのアニメーション呼び出しを使用することがわかります(これらは単純な構造体であり、プレーンな古いxのintを含みます) &y、次にx、y、width、heightの場合)ゲームは正常にコンパイルされます(これが、問題であるAnimationクラスに傾倒している主な理由である可能性が高いです)。を使用して、それをアニメーションのベクトル配列の作成で使用するものと比較すると、これがより重要な問題であるかどうか、または実際に何か他のものであるかどうかを適切に判断できるようになるはずです。
編集:オーバーフローをさらに調べて、ゲームの分解情報を調べています。スタックオーバーフロー固有は、オーバーフローが発生する特定のアドレスを指します。 0xC0000005。
そのアドレスを検索すると、このビューが表示されます。
これらのアドレスに保持されているものをどうすればよいかわかりません。カーソルを合わせると、非常に多くの番号が表示されます。私が言えるのは、これらの「???」がたくさんあるということだけです。しかし、私はそれらが何かを意味する可能性があると思います。