如何让gcc/clang警告switch语句中缺少中断

sli*_*cki 7 gcc coding-style clang switch-statement gcc-warning

有没有办法在switch语句中发出gccclang警告丢失的中断?

具体来说,我几乎总是希望case语句以中断结束,如果我不这样做,我可以让编译器抱怨.如果它会寻找中断声明或"//直通"评论,那就更好了.

是否有人使用不同的解决方案来帮助自己不要搞砸了?

Ric*_*ith 10

使用Clang后备箱,使用-Wimplicit-fallthrough.如果您正在使用C++ 11,则可以使用[[clang::fallthrough]];语句标记有意的直通(有关此更多信息,请参阅此属性的文档).警告(尚未)检查"通过"评论.这个功能将不会出现在即将发布的Clang 3.1版本中,但它(可能!)将在3.2中.

编辑: Clang的属性现在是名称下的C++ 17的一部分[[fallthrough]];.

  • C ++ 17现在具有[[fallthrough]]属性。 (2认同)