错误:为参数指定的存储类
我写了一个C代码。 当我在Linux上编译它,然后在头文件中它说以下错误: storage class specified for parameter i32 , i8
等storage class specified for parameter i32 , i8
typedef int i32; typedef char i8;
机会是你已经忘记了在某个头文件中的分号。 确保每行都结束;
你在某处有一些代码,可能是在错误信息的全文中指出的,它是这样的:
void function(static int foo)
static
是不允许的。 它也可以是另一个存储类,如register
或extern
。
我有相同的经验。 问题是在函数声明结尾缺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右括号)。