expected specifier-qualifier-list before XXX gcc g++
这个问题主要是结构体变量定义引起:
1.未定义/未找到定义直接使用.
2.定义了,但是定义方式有问题.
gcc和g++在这个问题表现不同.
-----------------------------
简陋方式
struct AA{
};
struct BB{
AA a1;
}
gcc -o test a.c
a.c: 在函数‘main’中:
a.c:18: 错误:‘AA’未声明(在此函数内第一次使用)
a.c:18: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
a.c:18: 错误:所在的函数内也只报告一次。)
---------------------------------------------------------------
关键词没用对
修改成:
typedef struct AA{
};
: 警告:空声明中指定存储类无用
a.c: 在函数‘main’中:
a.c:18: 错误:‘AA’未声明(在此函数内第一次使用)
a.c:18: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
a.c:18: 错误:所在的函数内也只报告一次。)
------------------------------
实用关键词
typedef struct
{
}AA ;
编译通过.
-----------------------------------------
typedef struct AA
{
AA * ptr;
}AA ;
彻底解决问题. ----- 最佳方式吧.
---------------------------------------------
g++ 毫无问题. 最简单方式就ok.
struct AA{
};
http://stackoverflow.com/questions/608175/what-does-this-error-mean-error-expected-specifier-qualifier-list-before-typ
http://stackoverflow.com/questions/3888569/expected-specifier-qualifier-list-before