错误:为参数指定的存储类

我写了一个C代码。 当我在Linux上编译它,然后在头文件中它说以下错误: storage class specified for parameter i32 , i8storage class specified for parameter i32 , i8

 typedef int i32; typedef char i8; 

机会是你已经忘记了在某个头文件中的分号。 确保每行都结束;

你在某处有一些代码,可能是在错误信息的全文中指出的,它是这样的:

 void function(static int foo) 

static是不允许的。 它也可以是另一个存储类,如registerextern

我有相同的经验。 问题是在函数声明结尾缺less分号的头文件中的函数原型声明。

该函数在编译日志中显示为错误代码片段之前的“In function …”

希望这可以帮助!!

我曾经发生过这个相同的错误。 解决方法是浏览文件并查找待处理语句(如非closures括号或缺less分号)。通常这是一个微不足道的错误,但编译器会抱怨。

坏消息是,它并不总是抱怨正确的路线(甚至在正确的文件!)好消息是,在这些情况下,它说:

 WRONGFILE.h: In function 'FUNCTION_OF_ANOTHER_FILE_WRT_WRONG_FILE'" WRONGFILE:line:col: error: storage class specified for parameter 'param' before. 

去检查另一个报告的文件。

加起来; :另一种情况可能是缺less的)在函数指针声明中:

 extern void init_callbacks(void (*init)(), void (*end()); 

*end后缺less右括号)。