不仅仅在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
是不是很恐怖 ???