C 错误:初始化量太多
C++ Error: Too Many Initializer Values
我的数组有一个奇怪的错误。我已经宣布他们这样的:
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 的新手,因此在某个地方可能是新秀错误。
除了更改评论中写的 pitchPlayers
范围外,关于声明后更改整个数组:您可以将另一个名为pitchPlayersFor3
的初始化数组delclare。最好声明其static
和const
。然后,您可以使用memmove
从pitchPlayersFor3
复制到pitchPlayers
。
相关文章:
- 多成员Constexpr结构初始化
- 不能将复制初始化与隐式转换的多个步骤一起使用
- 错误:字符数组的初始值设定项太多
- 在main()之外初始化std::vector会导致性能下降(多线程)
- 对象实例化调用构造函数的次数太多
- 初始化多个未知基类
- 有没有办法一次声明相同类型的多个对象,并通过一个表达式立即使用相同的右值初始化它们?
- 我们是否需要为 C++ 中的多个函数初始化多个模板?
- 在C++的一行中初始化多个变量
- C++:数组<>初始值设定项太多
- 初始化器值太多
- 工会结构阵列的初始化太多
- C 错误:初始化量太多
- C++-数组的初始化程序太多
- C++:为“char [4]”数组错误获取太多初始值设定项
- 数组的初始化程序太多错误
- char[9][9]的初始化式太多
- 编译错误:没有类模板,太多初始化器,没有匹配函数
- 初始化器太多错误
- struct的初始化项太多