【发布时间】:2013-05-11 04:14:14
【问题描述】:
在 Xcode 中,这编译得很好:
float falloff = fmin(1.0, fmax(0.0, distanceSqrd/cRadius));
但是在 Visual Studio 2010 中出现错误,我必须使用 max 而不是 fmax。 distanceSqrd 和 cRadius 也是浮点数。
这是我的代码中唯一不能无缝交叉编译的部分...
有什么想法吗?
【问题讨论】:
-
我相信你的程序比那长一点(
#include?) -
嗯,一个起源于 C99,另一个起源于 C++98 ...
-
VS带来的实际错误是什么?顺便说一句,虽然 "
distanceSqrd和cRadius也是浮点数",但1.0和0.0肯定不是。我希望你#included 或者<math.h>或者,更优选的是<cmath>(在这种情况下,如果你在某处没有using,你也应该限定你的电话。而在VS中这不应该是必要时,当使用正确的 C++ 标头<cmath>时,不能保证这些函数在全局命名空间中可用。 -
哦,等等,这些实际上是来自
C++11对<cmath>的扩展,VS 还不支持。找到答案。
标签: c++ xcode visual-studio-2010