【发布时间】:2013-08-23 21:55:31
【问题描述】:
我在 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 时,它工作正常。
【问题讨论】:
标签: c visual-studio visual-studio-2012 math.h