-Wconversion

来自泡泡学习笔记
BrainBs讨论 | 贡献2024年6月27日 (四) 18:37的版本 (创建页面,内容为“警告可能更改值的隐式转换。这包括将 double 类型的 x 转换为整数类型 abs(x) 的转换、将 signed 类型转换为 unsigned 类型的转换,如 unsigned ui = -1、将更大类型转换为较小类型的转换,如 sqrtf(M_PI)。对于显式类型转换,如 abs((int) x) 和 ui = (unsigned) -1,或转换不会更改值的情况,如 abs(2.0),则不发出警告。对于 signed 和 unsigned 整数之间的转换,C++ 默认情况…”)
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳到导航 跳到搜索

警告可能更改值的隐式转换。这包括将 double 类型的 x 转换为整数类型 abs(x) 的转换、将 signed 类型转换为 unsigned 类型的转换,如 unsigned ui = -1、将更大类型转换为较小类型的转换,如 sqrtf(M_PI)。对于显式类型转换,如 abs((int) x) 和 ui = (unsigned) -1,或转换不会更改值的情况,如 abs(2.0),则不发出警告。对于 signed 和 unsigned 整数之间的转换,C++ 默认情况下不会发出警告,除非显式启用`-Wsign-conversion`。对于 C++,还警告用户自定义转换时可能导致混淆的重载解析;以及从未使用类型转换运算符的转换,如转换到 void、相同类型、基类或它们的引用。对于 signed 和 unsigned 整数之间的转换,C++ 默认情况下不会发出警告,除非显式启用`-Wsign-conversion`。