【发布时间】:2017-01-07 22:11:16
【问题描述】:
我正在尝试使用下面的代码将值设置为 2D 数组(设想游戏板或某个网格),但我收到“可变大小的对象可能未初始化”错误。
我尝试使用 memset 解决它,但无济于事。
非常感谢和一些提示将不胜感激。
// constants
#define DIM_MIN 3
#define DIM_MAX 9
// board
int board[DIM_MAX][DIM_MAX];
void init(void)
{
int highest = d^2;
for (int i = 0; i < d; i++)
{
for (int j = 0; j < d; j++)
{
int board[i][j] = highest - 1;
}
}
if (d % 2 == 0)
{
int board[d-1][d-2] = 2;
int board[d-1][d-3] = 1;
}
}
【问题讨论】:
-
您告诉我们
memset,但不费心向我们展示您是如何使用它的? -
奇怪的是,你把
int放在前面声明的board的前面,但是d还是未知的。 -
另外,
d^2也不是解决d的方法。请改用d*d。 -
@BoPersson 非常感谢