在 gcc 中是否有字符串文字到 bool 转换的警告
Is there a warning for string literal to bool conversion in gcc
在一个相当大的代码库中,我在一个 cpp 文件中发现了以下构造(重写的片段)
int main()
{
bool b;
//... some code ...;
b = "False"
}
这是完全合法的代码,但显然不是故意的。它很容易修复,但自 2014 年以来一直存在,没有人注意到,因此显然不容易被发现。
是否可以让 gcc 对此发出警告?
g++ 7 和 clang++ 5 都没有用 -Wall -Wextra -Wpedantic
.
发出警告
Clang 有一个名为 -Wstring-conversion
的警告,可以捕获错误,但 gcc 没有。我简单地浏览了 the gcc warning documentation page 并没有发现任何可以捕捉到错误的东西。
我已针对 gcc 错误跟踪器的功能建议提交了报告:#80151。
在一个相当大的代码库中,我在一个 cpp 文件中发现了以下构造(重写的片段)
int main()
{
bool b;
//... some code ...;
b = "False"
}
这是完全合法的代码,但显然不是故意的。它很容易修复,但自 2014 年以来一直存在,没有人注意到,因此显然不容易被发现。
是否可以让 gcc 对此发出警告?
g++ 7 和 clang++ 5 都没有用 -Wall -Wextra -Wpedantic
.
Clang 有一个名为 -Wstring-conversion
的警告,可以捕获错误,但 gcc 没有。我简单地浏览了 the gcc warning documentation page 并没有发现任何可以捕捉到错误的东西。
我已针对 gcc 错误跟踪器的功能建议提交了报告:#80151。