我有一些代码返回 float::PositiveInfinity 以指示事件永远不会发生,但由于某种原因,编译器(MS Visual Studio 2013)给了我以下警告:
warning C4756: overflow in constant arithmetic
有问题的代码如下所示:
property float MinsRemainingUntilNextEvent
{
virtual float get()
{
return float::PositiveInfinity;
}
}
这是什么意思,我应该关心吗? MS's documentation没给我解释...
最佳答案
我敢打赌,编译器的实现者选择为任何可以在编译时计算的浮点表达式发出警告,其结果是 +inf
,这意味着警告将系统地发出 float::PositiveInfinity
.
您对 float::PositiveInfinity
的使用是完全有效且无害的。忽略警告。我想推荐你得到一个更好的编译器,但 GCC 是 similarly silly说到浮点。
关于floating-point - 为什么我会收到警告 C4756:返回 float::PositiveInfinity 时常量算术溢出?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25667254/