我正在尝试编译一个最初用于 Windows 下的 Linux/Unix 平台的代码库。代码使用 HUGE_VALF 变量似乎没有引用定义它的 header 。我在 Windows 上使用的 MS VC9 编译器抛出:
error C2065: 'HUGE_VALF' : undeclared identifier.
为 Windows 定义 HUGE_VALF 的推荐包含文件或方法是什么? Math.h 定义了 HUGE_VAL( double ),但没有定义 HUGE_VALF(作为 float )。
最佳答案
像这样用 *_MAX
替换 HUGE_VAL
* 怎么样:
HUGE_VAL => DOUBLE_MAX
HUGE_VALF => FLOAT_MAX
etc...
您可以只为 _WIN32
定义这些,或者只用适当的标准替换替换 HUGE_VAL
* 内容。
编辑:MinGW-w64 (GCC) 有这些定义,可能它们是 C99 或 C++0x 的东西(还没有)在 MSVC9 中。也许 MSVC10 有它们,尽管 msdn 似乎遗漏了有关定义的任何信息。
关于c++ - Windows 下 HUGE_VALF 未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7475282/