首页 > 解决方案 > 是否可以在 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 在第一个示例中对隐式转换发出警告?

标签: c++visual-c++compiler-warnings

解决方案


不,MSVC 中没有这样的警告选项。您可以通过编译您的示例来验证这一点/Wall这会启用所有警告,并且不会发出任何警告。

但是,Clang 中有一个这样的警告选项:-Wfloat-conversion. 文档说 float 到 integer,但它包括 bool


推荐阅读