编译器警告从int型到double型的隐式转换
compiler warning about implicit conversion from int to double
是否有任何方法可以使编译器警告int到double转换,即double value = 2;
?
这可能看起来过于严格,但我相信在某些情况下,比如数学软件,这样的限制可能是可以接受的,可以在编译时捕获一些错误。
目标编译器是gcc/clang
有很多关于double -> int转换的问题,但反之亦然,我没有找到任何有用的信息
警告消息依赖于编译器,启用或禁用它们的编译器选项尤其如此。如果不知道使用的是什么编译器,就不可能说。
一般来说,大多数编译器只对有损转换提供警告,而int
-> double
在我使用的所有平台上都是完美的无损转换。
相关文章:
- C++在数学计算中将double转换为int
- 有没有办法在C++的赋值中将"char**"转换为"double"?
- 错误:无法将"<lambda(double)>"转换为"double(*)(double)"
- 如何正确将"strings"转换为"double"?
- Zedboard zynq-7000 Opencl 浮点数从类型 'double*' 强制转换为类型 'double' 无效
- "std::function<double(double)>"到"double (*)(double)"之间的转换
- C++ 模板函数无法将"std:string"转换为"double"作为回报
- 缩小从double到float的转换
- 在不复制数据的情况下,将double数组转换为只有double成员的structs数组
- 将 mwArray 转换为 std::vector<double>
- 使用词法强制转换在'string to double'中设置双精度变量的精度
- 如何将 Java double[][] 转换为 C++ <vector<vector>> JNI?
- 从 std::vector<double> 到 Python 列表的转换失败(提升 python)
- 转换 cv::mat 转换为 std::矢量<double>并发症
- 将双数组转换为标准::复杂<double>
- 将 std::vector<boost::optional<double>> 转换为 std::vector<double>
- 将 double* 转换为 std::vector<double> (C++)
- 无法将复数<double>转换为双精度
- 将 int 转换为双精度以执行 std::complex <double>的"*"操作
- "double(*)(string, double, double)"尝试传递函数C++时"double"转换错误