这是我的代码,它有语法错误。
struct cell{
bool in;
bool up;
bool left;
int prevx, prevy;
};
cell MAZE[xsize][ysize];
这段代码看起来不错,让我回到“单元格”这一错误:
error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before 'MAZE'
你们任何人都可以指出我的错误吗?
答案 0 :(得分:10)
声明结构的正确方法是:
struct cell MAZE[xsize][ysize];
你也可以这样做:
typedef struct {
bool in;
bool up;
bool left;
int prevx, prevy;
} cell;
cell MAZE[xsize][ysize];
答案 1 :(得分:2)
在C中,你必须写:
struct cell MAZE[xsize][ysize];
在C ++中,有一个'自动typedef',但不在C中。
你也可以写:
typedef struct cell cell;
然后你的声明(不是初始化)是正确的。
通常,所有大写字母名称(如MAZE)都保留给C中的宏。
答案 2 :(得分:1)
你也可以这样做。
struct cell{
bool in;
bool up;
bool left;
int prevx, prevy;
}MAZE[xsize][ysize];