C++;数组和窗口出口 我是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; } } private:System::Void Form1\u Load(System::Object^sender,System::EventArgs^e){ 国际材料[7][7]; int i,j; int-prevBlack=1; int-prevRow=0; int电流=0; 对于(i=0;i
问题是C++;数组和窗口出口 我是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; } } private:System::Void Form1\u Load(System::Object^sender,System::EventArgs^e){ 国际材料[7][7]; int i,j; int-prevBlack=1; int-prevRow=0; int电流=0; 对于(i=0;i,c++,arrays,matrix,C++,Arrays,Matrix,问题是matr[i][j]=(int)电流在这部分代码的末尾,我的程序退出。当注释这部分代码时,将显示一个窗口 我不知道为什么会这样。数组是8x8。我需要您的帮助:)当您将数组声明为matr[7][7]时,它的大小将为7x7,有效索引将为0..6。但是您正在使用索引0..7访问此数组,这将导致错误 由于需要8x8阵列,因此应将阵列声明为matr[8][8]。将阵列声明为matr[7][7]时,其大小为7x7,有效索引为0..6。但是您正在使用索引0..7访问此数组,这将导致错误 您应该将阵列声明
matr[i][j]=(int)电流代码>在这部分代码的末尾,我的程序退出。当注释这部分代码时,将显示一个窗口
我不知道为什么会这样。数组是8x8。我需要您的帮助:)当您将数组声明为matr[7][7]
时,它的大小将为7x7,有效索引将为0..6。但是您正在使用索引0..7访问此数组,这将导致错误
由于需要8x8阵列,因此应将阵列声明为matr[8][8]
。将阵列声明为matr[7][7]
时,其大小为7x7,有效索引为0..6。但是您正在使用索引0..7访问此数组,这将导致错误
您应该将阵列声明为matr[8][8]
,因为您需要一个8x8阵列。只需添加。。。因为你写的内容超过了数组的末尾,你很可能会覆盖堆栈上的返回地址,所以当函数试图返回到调用方时,你的程序会南下。。。由于写入的时间超过了数组的末尾,因此很可能会覆盖堆栈上的返回地址,因此当函数尝试返回调用方时,程序会南下。