【发布时间】:2015-08-04 08:20:39
【问题描述】:
作为基于文本的 Battle Ship 游戏的一部分,我正在尝试在控制台中显示一个简单的网格/板。不幸的是,我在制作网格时遇到了错误。网格由二维数组表示,-我使用 for 循环将网格的每个元素初始设置为“EMPTY”。 但是,当我尝试让代码运行时,我收到一条错误消息,提示“需要声明”和“语法错误:')'”。我在做什么错?这是有问题的代码部分:
enum GridContent {SHIP, HIT, MISS, EMPTY};
const int GRID_SIZE = 10;
GridContent board[GRID_SIZE][GRID_SIZE];
// Intellisense error on "for": "Expected a declaration."
for (int y = 0; y < GRID_SIZE; y++)
/* Errors for above line: "Missing ';' before '++', '<', '{', and ')'",
"Syntax error: ')'", "Syntax error: 'for'", "'int y' : redefinition"" */
{ // "Missing ';' before '{'"
for (int x = 0; x < GRID_SIZE; x++)
board[y][x] = EMPTY;
}
【问题讨论】:
-
您声明了
board,但随后您尝试将值分配给grid。也不清楚你的Grid是什么 -
此外,您循环遍历
x和y,但随后您尝试在最后一个索引为GRID_SIZE-1的数组中访问(很可能)无效索引GRID_SIZE -
对不起我的残暴代码!我现在已经对其进行了编辑,但仍然出现错误。
标签: c++ for-loop multidimensional-array visual-studio-2013 console