DSP中的Warning]function declared implicitly

转自:http://www.cnblogs.com/karlchen/archive/2008/09/23/1297169.html

 warning: function declared implicitly
 
原因就是函数没有声明,大部分情况下,也不影响函数的正常使用,所以往往被大家忽略,实际上,也是很危险的事情,比如如下的一个例子 
 
#include <stdlib.h>
#include <stdio.h>
 
int main(void)
    {
    int i;
 
    i = foo (2, 3);
    printf ("foo returns %d\n", i);
    exit(0);
    }
 
int foo (int a)
    {
        return (a+a);
    }
 
解决这样的问题,就是添加函数声明,如在源文件头添加声明
 
    
 
#include <stdlib.h>
#include <stdio.h>
 
int foo (int a);
int main(void);
 
int main(void)
    {
    int i;
 
    i = foo (2, 3);
    printf ("foo returns %d\n", i);
    exit(0);
    }
 
int foo (int a)
    {
        return (a+a);
    }
 
       编译看看,就会发现出现这样的错误
 
error: too many arguments in

          function call

是不是很恐怖 ???
posted @ 2013-06-20 22:34  永不止步,永无止境  阅读(3304)  评论(0)    收藏  举报