floating-point - 为什么我会收到警告 C4756:返回 float::PositiveInfinity 时常量算术溢出?

标签 floating-point c++-cli overflow

我有一些代码返回 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/

相关文章:

c++-cli - 如何在 C++/CLI 中检查对象的类型?

css - 溢出滚动不适用于绝对定位的元素

math - float 学有问题吗?

python - 保存和读取加倍且不损失精度

floating-point - 非常大数的正弦标准

c++ - 无法从 const char[] 转换为 std :string *

floating-point - 一般编程 : Decimal numbers, float

c++-cli - C++/CLI Object^%(插入符号百分号)声明是什么意思?

css - 为什么设置溢出:hidden; break the backface-visibility declaration?

android - 操作栏中的 3 点菜单(选项菜单溢出)是图像还是 android 提供的默认图标?