原文链接:http://www.juzicode.com/cpp-error-vs2015-warning-c4013/
错误提示:
存在告警:main.c(7): warning C4013: “add”未定义;假设外部返回 int,而且2个浮点数相加得到的结果不正确:
//juzicode.com;vx:桔子code
#include "stdio.h"
int main(void)
{
printf("juzicode.com;vx:桔子code\n");
float c = add(11.1, 55.5);
printf("c = %f \n", c);
return 0;
}
float add(float a, float b)
{
return a + b;
}
运行结果==========:
juzicode.com;vx:桔子code
c = 25.000000
错误原因:
1、float add(float a, float b)在main()调用之后定义,且未在调用前声明,导致告警假定add()函数返回的是int型,发生了数据类型转换错误。
解决方法:
1、在mani()调用前增加函数声明:
//juzicode.com;vx:桔子code
#include "stdio.h"
float add(float a, float b);//在调用前声明
int main(void)
{
printf("juzicode.com;vx:桔子code\n");
float c = add(11.1, 55.5);
printf("c = %f \n", c);
return 0;
}
float add(float a, float b)
{
return a + b;
}
运行结果==========:
juzicode.com;vx:桔子code
c = 66.599998
如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。