Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C &引用;解析错误“;结构内声明_C_Gcc_Struct - Fatal编程技术网

C &引用;解析错误“;结构内声明

C &引用;解析错误“;结构内声明,c,gcc,struct,C,Gcc,Struct,我想在C中使用一些基本结构,如下所示: struct p { int a; int b; p * next; } 但是,它无法编译,出现错误:在p*next行的“p”前面出现parse error 您知道这个问题的原因是什么吗?C结构位于不同的命名空间中,必须显式地确定作用域,因此: struct p { int a; int b; struct p * next; }; 别忘了结尾的分号!:-) 你可以假装你在C++中: TyPulfStru

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

struct p {
    int a;
    int b;
    p * next;
}
但是,它无法编译,出现
错误:在
p*next行的“p”前面出现parse error


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

C结构位于不同的命名空间中,必须显式地确定作用域,因此:

struct p {
    int a;
    int b;
    struct p * next;
};
别忘了结尾的分号!:-)


你可以假装你在C++中:<代码> TyPulfStruts p{/**/} p;<代码>。但是我认为下一个

仍然必须像上面那样声明。

C结构位于不同的名称空间中,并且必须显式地确定作用域,因此:

struct p {
    int a;
    int b;
    struct p * next;
};
别忘了结尾的分号!:-)


你可以假装你在C++中:<代码> TyPulfStruts p{/**/} p;<代码>。但是我认为

next
仍然必须像上面那样声明。

你说得对
struct p*next,因为typedef的名称p还不在范围内,因为typedef的名称p还不在范围内。