0
我是新的C++,但我很清楚C#,Java。但是不要緊。我想創建跳棋遊戲模擬。我編輯了窗口加載的新事件。這是我所做過來源:C++數組和窗口退出
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 x 8.我需要你的幫助:)
並且只是爲了添加......因爲您正在寫入數組的末尾,所以您可能會覆蓋堆棧中的返回地址,因此當函數嘗試返回給調用者時,程序將向南移動。 – cbranch
哦,非常感謝!這是非常有用的信息! – Mirgorod