我在 VS2012 中编译 ANSI-C(设置了 _CRT_SECURE_NO_WARNINGS)并且程序使用“math.h”。我遇到以下问题:
sqrt()
VS2012 的自动检查器会告诉我有错误
IntelliSense:多个重载函数“sqrt”实例与参数列表匹配:
function "sqrt(double _X)" function "sqrt(float _X)" function "sqrt(long double _X)" argument types are: (int)
但该项目仍将建立。这让我很困惑,因为我认为 C 不支持函数重载?
使用 fabs() 进行调试
项目构建后,我尝试调试。当它跑到线
char eq(double a, double b, double epsilon) {
return (fabs(a - b) < epsilon); // problem
}
函数,它会构建,但在调试模式下会生成错误页面“fabs.c not found”:
我不确定发生了什么。似乎问题只发生在调试模式下。当我在命令行中运行已编译的程序 .exe 时,它工作正常。