声明说明结构时的语法错误



这是我的代码,具有语法错误。

struct cell{
        bool in;
        bool up;
        bool left;
        int prevx, prevy;
};
cell MAZE[xsize][ysize];

这个代码对我来说很好,可以将我返回我的"单元"此错误:

error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before 'MAZE'

你们中有人可以指出我的错误吗?

声明结构的正确方法是:

struct cell MAZE[xsize][ysize];

您也可以做到这一点:

typedef struct {
    bool in;
    bool up;
    bool left;
    int prevx, prevy;
} cell;
cell MAZE[xsize][ysize];

在C中,您必须写:

struct cell MAZE[xsize][ysize];

在C 中,有一个"自动键入",但在c。

中没有

您也可以写:

typedef struct cell cell;

然后您的声明(不是初始化)是正确的。

通常,所有caps的名称(例如迷宫)保留在c。

您也可以这样做。

struct cell{
        bool in;
        bool up;
        bool left;
        int prevx, prevy;
}MAZE[xsize][ysize];

最新更新