结构声明中的“解析错误”

时间:2010-03-30 07:54:35

标签: c gcc struct

我想在C中使用一些基本结构,如下所示:

struct p {
    int a;
    int b;
    p * next;
}

但是,使用error: parse error before "p"的行p * next;无法编译。

你知道这个问题的原因是什么吗?

1 个答案:

答案 0 :(得分:9)

C结构存在于不同的命名空间中,必须明确确定范围,因此:

struct p {
    int a;
    int b;
    struct p * next;
};

最后不要忘记分号! : - )

你可以伪装成C ++:typedef struct p { /*...*/ } p;。但我认为next仍将如上所述声明。