gpt4 book ai didi

c++ - g++ 在不使用 -Wconversion 的情况下将 double/float 转换为无符号整数时发出警告

转载 作者:可可西里 更新时间:2023-11-01 16:16:13 26 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
g++ -Wall not warning about double-> int cast

根据问题 here , 从 double/float 到无符号整数的直接转换是不可移植的。我发现我的代码中有一些情况会发生这种情况,如果发生这种情况,我想告诉 g++ 警告我,但我找不到这样的选项。有谁知道是否可以选择这样做?

注意:我确实看到了 -Wconversion,但它也会警告我不关心的所有其他类型的转换(比如将 int 转换为 unsigned int,根据标准这是可移植的)。

编辑:这是我希望看到警告的代码示例:

double dblNumber = -234;
unsigned long uintNumber = dblNumber;

在一个版本的 g++ 上,这给了我一个整数值 0xFFFFFF16(即 2 的补码中的 -234)。在另一个上,它给了我 0。显然代码是模棱两可的,这就是为什么它不被认为是可移植的,这是可以理解的。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com