c++ - 是否可以在 MSVC 中对隐式浮点到布尔转换发出警告?
问题描述
在此示例中,我希望 MSVC 发出警告:
auto func(float f) -> int {
if(f) { return 654321;} // true if f != 0.0F
else { return 123456; }
}
所以我不得不写:
auto func(float f) -> int {
if(f != 0) { return 654321;}
else { return 123456; }
}
是否可以让 MSVC 在第一个示例中对隐式转换发出警告?
解决方案
不,MSVC 中没有这样的警告选项。您可以通过编译您的示例来验证这一点/Wall
,这会启用所有警告,并且不会发出任何警告。
但是,Clang 中有一个这样的警告选项:-Wfloat-conversion
. 文档说 float 到 integer,但它包括 bool。
推荐阅读
- javascript - JavaScript Map 对象中的递增值
- python - 蟒蛇打印错误
- java - 在groovy中将for循环的结果写入csv
- wix - WiX 安装程序 - 如何使用 Wix 3.10 检查 .net framework 3.5 和 4.6
- makefile - Makefile:匹配多个模式规则
- java - 在 ubuntu 16.04 中安装最新的 java 版本
- automated-tests - 如何在 VSTS 中选择某些测试?
- javascript - 如何安装 npm 包(math-simple-integrals)
- ms-access - 触发和处理字段事件和记录事件的类模块
- xaml - 是否可以将 ColorAnimationUsingKeyFrames 应用于 DropShadowPanel?