题
我想使用的一些基本结构用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
仍会有被声明为以上。
不隶属于 StackOverflow