️ clang-tidy 的规则能够帮助检查潜在的问题,不要盲目抑制警告!

可以通过添加 NOLINT, NOLINTNEXTLINE, 以及 NOLINTBEGINNOLINTEND 注释来抑制某些(或所有)clang-tidy 警告。

  • NOLINT 抑制同一行的警告
  • NOLINTNEXTLINE 抑制下一行的警告
  • NOLINTBEGINNOLINTEND 抑制多行警告
  • 上述 3 种标记都可以增加一对圆括号,来抑制特定类型的警告,可以用逗号分隔,抑制多种类型的警告;通配符也是可以的!
class Foo {
// 抑制本行所有的警告
Foo(int param); // NOLINT // 可以增加说明,解释抑制警告的理由
Foo(char param); // NOLINT: Allow implicit conversion from `char`, because <some valid reason> // 只抑制 google-explicit-constructor 和 google-runtime-int 两种类型的警告
Foo(double param); // NOLINT(google-explicit-constructor, google-runtime-int) // 抑制所有 `google` 开头的警告
Foo(bool param); // NOLINT(google*) // 抑制所有以 `-avoid-c-arrays` 结尾的警告
int array[10]; // NOLINT(*-avoid-c-arrays) // 抑制下一行 google-explicit-constructor 和 google-runtime-int 警告
// NOLINTNEXTLINE(google-explicit-constructor, google-runtime-int)
Foo(bool param); // 抑制下一行所有 `google` 开头的警告
// NOLINTNEXTLINE(google*)
Foo(bool param); // 抑制下一行以 `-avoid-c-arrays` 结尾的警告
// NOLINTNEXTLINE(*-avoid-c-arrays)
int array[10]; // 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的 google-explicit-constructor 和 google-runtime-int 警告
// NOLINTBEGIN(google-explicit-constructor, google-runtime-int)
Foo(short param);
Foo(long param);
// NOLINTEND(google-explicit-constructor, google-runtime-int) // 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的 google 开头的警告
// NOLINTBEGIN(google*)
Foo(bool param);
// NOLINTEND(google*) // 抑制 NOLINTBEGIN 和 NOLINTEND 之间所有的以 `-avoid-c-arrays` 结尾的警告
// NOLINTBEGIN(*-avoid-c-arrays)
int array[10];
// NOLINTEND(*-avoid-c-arrays)
};

Reference

https://clang.llvm.org/extra/clang-tidy/#suppressing-undesired-diagnostics

如何抑制特定 clang-tidy 警告的更多相关文章

  1. VS SuppressMessage忽略特定方法的警告信息

    VS在编译源码的时候有很多警告信息,有些时候 我们需要忽略一个特定方法的特定警告信息,于是就用SuppressMessage特性,可是这个特性的参数不太好搞定,还好有VS,Suppressing Co ...

  2. iOS编程 手动忽略clang编译器警告

    在iOS开发过程中, 我们可能会碰到一些系统方法弃用, weak.循环引用.不能运行之类的警告. 有代码洁癖的孩子们非常想消除他们, 今天就让我们来一次Fuck 警告.! 首先学会主要的语句 #pra ...

  3. 【转】clang warning 警告清单(备查,建议直接command + F 速查 )

    Warning Message -WCFString-literal input conversion stopped due to an input byte that does not belon ...

  4. 转载 C#中敏捷开发规范

    转载原地址 http://www.cnblogs.com/weixing/archive/2012/03/05/2380492.html 1.命名规则和风格 Naming Conventions an ...

  5. clang和gcc消除警告

    1. clang命令,它的作用是用来消除特定区域的clang的编译警告,-Wgnu则是消除?:警告, 例: #pragma clang diagnostic push #pragma clang di ...

  6. @SuppressWarnings抑制警告

    @SuppressWarnings(“XXXX”) 来抑制编译时的警告信息.参数如下: 关键字 用途 all to suppress all warnings boxing  to suppress ...

  7. @SuppressWarning 抑制警告注解

    @SuppressWarning 抑制警告注解 Java.lang.SuppressWarnings 是 J2SE5.0中标准的Annotation 之一. 可以标注在类,字段,方法,参数,构造方法, ...

  8. Java @SuppressWarnings:抑制编译器警告-4

    Java 中的 @SuppressWarnings 注解指示被该注解修饰的程序元素(以及该程序元素中的所有子元素)取消显示指定的编译器警告,且会一直作用于该程序元素的所有子元素.例如,使用 @Supp ...

  9. 谈谈Objective-C的警告 (转)

    原文地址:http://onevcat.com/2013/05/talk-about-warning/ 一个有节操的程序员会在乎自己的代码的警告,就像在乎饭碗边上有只死蟑螂那样. ——@onevcat ...

  10. Xcode关闭警告

    对于关闭某个警告,如果需要全局关闭的话,直接在Other C Flags里写 -Wno-...就行了,比如 -Wextra -Wno-sign-compare 就是一个常见的组合.如果相对某几个文件开 ...

随机推荐

  1. 其它——paramiko模块的使用

    文章目录 paramiko 一 介绍 二 通过用户名密码方式远程执行命令 三 通过用户名密码方式上传下载文件 四 通过公钥私钥远程执行命令 五 通过公钥私钥远程上传下载文件 六 通过私钥字符串远程连接 ...

  2. FFMPEG+SDL简单视频播放器——视频快进

    之前写过一篇关于视频播放器的文章.播放器只简单实现了视频播放的功能,在此功能的基础上,给它加上一个视频快进的功能. 实现 添加参数 // video play control bool do_seek ...

  3. python-手机自动化环境部署

    关于ui-automator,google的官方介绍: https://developer.android.google.cn/training/testing/ui-automator https: ...

  4. [AHOI2002] Kitty猫基因突变

    我们不妨将所有权值打到一棵树上,这很容易想到. 考虑暴力,如果我们选择了 \(w\) 个点,修改后我们会从叶子节点依次合并去计算贡献. 很显然我们可以动态规划维护. \(f[p][w][0/1/2]\ ...

  5. Dotnet工具箱:开源、免费的纯前端工具网站,带你探索10大工具分类和73个实时在线小工具

    1. 前言 大家好,我是沙漠尽头的狼. Dotnet工具箱是一个纯前端的.开源和免费的工具网站,周末我参考了开源项目it-tools,对网站界面文字进行了汉化,并重新部署了网站.该网站共有10大工具分 ...

  6. C++函数如何具有多个返回值?

      本文介绍在C++语言中,使用一个函数,并返回两个及以上.同类型或不同类型的返回值的具体方法.   对于C++语言而言,其不能像Python等语言一样在一个函数中返回多个返回值:但是我们也会经常遇到 ...

  7. 错误记录-FileStream访问被拒绝

    简介: 问题:因项目需要,软件需要读取授权文件中的密文与本机验证码做一定的逻辑比对,使用FileStream实现文件的读取,在本机调试没问题,但在其他同事电脑上有一些出现授权一直不通过的情况. --M ...

  8. [Python急救站课程]绘制蜡笔小新图案

    可爱的蜡笔小新想要吗?画起来 import turtle as t '''设置''' t.setup(800, 500) # 创建画布并使其位于屏幕中心 t.pensize(2) # 画笔粗细 t.c ...

  9. 提高cin cout的速度

     ios::sync_with_stdio(false) :用来关闭iostream与stdio的同步,从而提高 cin cout 的效率,但是就不能再用 scanf printf 了,因为不关闭之前 ...

  10. 【Android】实现连接SQLite并尝试进行增删改查