[VDSP中的Warning]function declared implicitly

不仅仅在VDSP的编程环境中,可能大部分程序员都会很经常看到下述Warning提示

    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

是不是很恐怖 ???
原文地址:https://www.cnblogs.com/karlchen/p/1297169.html