在一个非常大的代码库中,我在cpp文件中找到了以下构造(重写的代码段)
int main()
{
bool b;
//... some code ...;
b = "False"
}
这是完全合法的代码,但显然不是故意的。它很容易修复,但它自2014年以来一直存在,没有人注意到,因此显然不容易发现。
是否有可能让gcc对此发出警告?
答案 0 :(得分:2)
g ++ 7 和 clang ++ 5 都没有-Wall -Wextra -Wpedantic
警告。
Clang有一个名为-Wstring-conversion
的警告会抓住错误,但是gcc没有。我简要地浏览了the gcc warning documentation page并没有找到任何可以解决错误的内容。
我已经就gcc错误跟踪器上的功能建议提交了一份报告:#80151。