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

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

然而,它失败与error: parse error before "p"线的p * next;进行编译。

你有任何想法的原因可能是这个问题?

有帮助吗?

解决方案

C结构生活在不同的命名空间,并且必须显式确定作用域,从而:

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

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

您可以假装你用C ++是这样的:typedef struct p { /*...*/ } p;。但我认为,next仍会有被声明为以上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top