2012-02-16 2 views
0

マルチプルアレーを使用してウィンドウをオープンしていて、閉じようとすると、 "Windowsがapp.exeにブレーキポイントを引き起こしました。C++マルチアレイ - Windowsがブレークポイントをトリガーしました

:このようなedgepoint 『: これは「私はそれぞれに価値を与える私のアプリで

class MyClass 
{ 
    private: 
     static const int DATA_SIZE = 8; 
     double terrain[DATA_SIZE][DATA_SIZE] 
    ... 
} 

私はこのようなヘッダを持っている』 ...によるヒープの破損であることができます

terrain[0][0] = 5; 
terrain[0][DATA_SIZE] = 5; 
terrain[DATA_SIZE][DATA_SIZE] = 5; 
terrain[DATA_SIZE][0] = 5; 

最後の行(地形[DATA_SIZE] [0] = 5;)をコメントアウトすると警告メッセージが表示されないので、問題はその行にありますが、何がうまくいくはずです。私は誰かが私を助けることを願っている私はVisual Studio 2010 Ultimateを使用します。

+0

を使用します..すべて[DATA_SIZE-1]、すべて[DATA_SIZE-1] [0..DATA_SIZE-1]など) –

+0

後で他のものを入力しますが、その部分は含まれていません。 – matthew3r

答えて

3

あなたは最後の要素へのアクセス指標をオーバーフローしている:あなたは、各edgepoint(代わりの各コーナーポイントを)したい場合は、あなたの配列の複数の要素(全て[0] [0を入力する必要があり

terrain[0][DATA_SIZE-1] = 5; 
terrain[DATA_SIZE-1][DATA_SIZE-1] = 5; 
terrain[DATA_SIZE-1][0] = 5; 
+0

ああ私の神様、どういう間違いか、私はヘッダーに私はサイズを宣言していることを忘れてしまった。ありがとうございました! – matthew3r

関連する問題