出现
static declaration follows non-static declaration
这种错误,
原因是 调用的静态函数没有先声明一下,就是它定义在你调用之后啦。
解决:调用之前声明一下这个函数。
举个栗子:
假如在test()函数调用了doSomething()函数,并且也定义了doSomething()函数:
void test(){
doSomething();
}
void doSomething(){
printf("--just do it--\n");
}
这时就会出现错误:static declaration follows non-static declaration
只要加上一句void doSomething()在test()函数前面就可以了,如下:
void doSomething();
void test(){
doSomething();
}
void doSomething(){
printf("--just do it--\n");
}
一般情况下,把函数声明放在.h头文件,把代码实现放在.c文件,这就不多说了。要看具体使用场景。
另外如果你定义的函数,不想给外部文件使用,可以在函数前面加上static