我需要关闭一些我使用的Qt代码中Clang静态分析器(clazy)标记的警告。
将'// NOLINT‘作为注释添加到被clazy标记的代码行中是不起作用的,显然是因为Qt在clazy看到它之前被转换为C++代码,而不需要所有注释和语用。附加“//clazy:排除.”也不起作用,同样地
#if defined(__clang__) // if that is even the right define to look for
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-W..."
#endif
...
#if defined(__clang__)
#pragma clang diagnostic pop
#endif
有什么优雅的方法可以消除Qt代码中的笨拙警告吗?我希望它适用于单个行,而不是禁用整个文件上的警告。
发布于 2022-10-07 15:11:59
你应该用
<your code> // clazy:exclude=<warning>,<another warning>
例如,我在代码中得到了clazy-严格迭代器警告。
我在行尾添加了// clazy:exclude=strict-iterators
,警告就消失了。
请注意,不应在警告名称中添加clazy-
前缀。
来源:https://blogs.kde.org/2016/04/25/clazy-suppressing-warnings
https://stackoverflow.com/questions/71619025
复制相似问题