static declaration follows non-static declaration 的错误 (解决办法看这里)

出现

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

 

 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值