我的数组有一个奇怪的错误。我已经宣布他们是这样的:
void Interface::setup(){
char pitchPlayers[9][26] = {
{ 201, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 187 }, //1
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //2
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', 001, '1', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '1', 001, ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //3
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //4
{ 186, ' ', 001, ' ', ' ', ' ', ' ', 001, '2', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '2', 001, ' ', ' ', ' ', ' ', 001, ' ', 186 }, //5
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //6
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', 001, '3', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '3', 001, ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //7
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ',' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //8
{ 200, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 188 }, //9
};
char dice[9][9] = {
{ 201, 205, 205, 205, 205, 205, 205, 205, 187 }, //1
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //2
{ 186, ' ', 254, ' ', ' ', ' ', ' ', ' ', 186 }, //3
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //4
{ 186, ' ', ' ', ' ', 254, ' ', ' ', ' ', 186 }, //5
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //6
{ 186, ' ', ' ', ' ', ' ', ' ', 254, ' ', 186 }, //7
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //8
{ 200, 205, 205, 205, 205, 205, 205, 205, 188 }, //9
};
}
当我想更改数组的内容时,我在数组的第二行有太多的初始化值错误:
if (numberOfPlayers == 3) {
pitchPlayers[9][26] = {
{ 201, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 187 }, //1
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //2 - this line
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', 001, '1', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '1', 001, ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //3
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //4
{ 186, ' ', 001, ' ', ' ', ' ', ' ', 001, '2', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '2', 001, ' ', ' ', ' ', ' ', 001, ' ', 186 }, //5
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //6
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', 001, '3', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', '3', 001, ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //7
{ 186, ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', 186 }, //8
{ 200, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 205, 188 }, //9
};
for (int x = 0; x < 9; x++) {
for (int y = 0; y < 26; y++) {
cout << pitchPlayers[x][y];// cout << "X";
}
cout << endl;
}
cout << endl;
}
我已经在我的头文件中正确地声明了它们。我找不到问题所在。我对C ++很新,所以它可能是某个新手的错误。
答案 0 :(得分:0)
除了改变评论中所写的pitchPlayers
的范围外,
关于在声明后更改整个数组:
您可以声明另一个名为pitchPlayersFor3
的另一个初始化数组。
最好声明static
和const
。
然后,您可以使用memmove
从pitchPlayersFor3
复制到pitchPlayers
。