我刚刚开始练习多维数组,并认为我可以使用字符通过它来创建地图。但是我收到“太多的初始化程序”错误,似乎无法弄清楚原因。
char gameMap[5][5] = {
{'.'},{'.'},{'.'},{'.'},{'.'},
{'.'},{'.'},{'.'},{'.'},{'.'},
{'.'},{'.'},{'.'},{'.'},{'.'},
{'.'},{'.'},{'.'},{'.'},{'.'},
{'.'},{'.'},{'.'},{'.'},{'.'}
};
您忘记了一些括号,您需要这样做:
char gameMap[5][5] = {
{ {'.'},{'.'},{'.'},{'.'},{'.'} },
{ {'.'},{'.'},{'.'},{'.'},{'.'} },
{ {'.'},{'.'},{'.'},{'.'},{'.'} },
{ {'.'},{'.'},{'.'},{'.'},{'.'} },
{ {'.'},{'.'},{'.'},{'.'},{'.'} },
};
您的代码用于初始化25个元素的一维数组。
但是实际上您应该这样写:
char gameMap[5][5] = {
{ '.','.','.','.','.'},
{ '.','.','.','.','.'},
{ '.','.','.','.','.'},
{ '.','.','.','.','.'},
{ '.','.','.','.','.'},
};
但是最好的解决方案是通过编程初始化:
for (int x < 0; x < 5; x++)
for (int y < 0; y < 5; y++)
gameMap[x][y] = '.';
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句