有没有办法让gcc或clang警告失踪的'其他'?

Wil*_*ley 3 c++ syntax gcc clang gcc-warning

如果我不处理if语句的其他条件,我想让编译器警告我.这是否存在于clanggcc中

为了澄清,我并不是想让我的所有源代码开启.但是,有时整个文件或大量的代码,我根本无法承受不考虑每一个其他块的设计.因此,我想,我真的在寻找一个pragma,我可以打开和关闭以启用和禁用几千行非常重要的代码.

想象它是一个自动代码审查或静态分析工具.

要说编译器不能这样做,因为它是合法的......在实践中不是问题.我见过的每个C/C++编译器都会很乐意发出大量警告,以防止在语法和语义上完全有效的代码.(例如在gcc中,-Wunused-value,-Wunused-label,-Wunreachable-code等...)

Gre*_*ill 8

如果你真的想要这个,我可能会建议下载Cppcheck并为此添加一个检查.Cppcheck执行简单的基于文本的匹配以检查规则集.警告错失的else条款是相当直截了当的.

我在missing-else这里的分支中实现了"缺少其他"的原型检查:https://github.com/ghewgill/cppcheck/tree/missing-else.由于新的意外风格警告(在其他合法代码上),它通过了自己的测试,但未通过许多其他测试.