在一个非常大的代码库中,我在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并没有找到任何可以解决错误的东西.
live wandbox example
我已经在gcc bug跟踪器上提交了一个功能建议报告:#80151.