簡體   English   中英

C ++數組和窗口退出

[英]C++ array and window exit

我是C ++的新手,但我很了解C#,java。 但是不要緊。 我想創建跳棋游戲模擬。 我為窗口添加了新事件-加載。 這是我所做的事情的來源:

private: System::Void Form1_Load(System::Object^  sender, System::EventArgs^  e) {
             int matr[7][7];
             int i, j;
             int prevBlack = 1;
             int prevRow = 0;
             int current = 0;

             for (i = 0; i < 8; i++)
             {
                 if ((i + 1) % 2 == 0)
                 {
                     prevBlack = 0;
                 }
                 else
                 {
                     prevBlack = 1;
                 }

                 for (j = 0; j < 8; j++)
                 {
                     if (prevBlack == 1)
                     {
                         current = 0;
                     }
                     else if (i == 0 || i == 1 || i == 2)
                     {
                          current = 2;
                     }
                     else
                     {
                         current = 1;
                     }

                     matr[i][j] = (int)current;

                     if (current == 1 || current == 2)
                     {
                         prevBlack = 1;
                     }
                     else
                     {
                        prevBlack = 0;
                     }
                 }

                 prevRow = i;
             }
         }

問題是matr[i][j] = (int)current; 在這部分代碼的結尾,我的程序退出。 當這部分代碼被注釋時,將顯示窗口。

我不知道為什么會這樣。 數組是8 x8。我需要您的幫助:)

當您將數組聲明為matr[7][7] ,其大小為7x7,有效索引為0..6。 但是,您正在使用索引0..7訪問此數組,這將導致錯誤。

由於需要8x8數組,因此應將數組聲明為matr[8][8]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM