在看书时候,看到以下例子:
#define INT32 int
typedef int int32;
unsigned INT32 i; //OK
unsigned int32 i; //error
typedef static int int32; //error
然后不是很明白,就在DEVC++测试一下,看看报错是啥。
结果为:
[Error] conflicting specifiers in declaration of 'int32’
英文不好,于是用谷歌翻译:'int32’声明中的说明符冲突
意思就是说明符冲突,这个错误让我似曾相识,但积累不够,总是回忆不起来,于是寻求网友的帮助。
看了网友的解答,才知道:typedef、extern、static、auto、register属于存储类型说明符,一条语句中只能出现一个,如下:
unsigned static volatile const int q = 1; //OK
register static const unsigned int i = 1; //error
static const unsigned int j = 1; //OK