c++ - 当存在: auto lambda = [](){};行时,Cppcheck不输出警告

标签 c++ cppcheck

这是一个SSCCE main.cpp:

int main(int argc, char** argv) {
    float a;
    auto lambda = [](){};
    return 0;
}

运行cppcheck --enable-all --std=c++11 *.cpp 输出:

Checking main.cpp ...

删除 auto lambda = [](){}; 会使 cppcheck 输出以下内容:

Checkin main.cpp
[main.cpp:3]: (style) Unused variable: a
正如预期的那样。为什么 auto lambda = [](){}; 使 Cppcheck 对于未使用的变量消息保持沉默? Cppcheck 1.82 会发生这种情况。

最佳答案

您好,我是一名 Cppcheck 开发人员。

检查器有一个缺点。所以这个缺失的警告不是故意的。

我创建了这张票: http://trac.cppcheck.net/ticket/8433

仅供引用,这并不是一个很难解决的问题。

关于c++ - 当存在: auto lambda = [](){};行时,Cppcheck不输出警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49221191/

相关文章:

c++ - ActiveQt Com 应用程序示例 - COM 服务器未在 Windows 注册表中注册 (Qt4.7.4)

jenkins - 如何在 CppCheck 中从命令行运行保存的项目

c++ - SonarQube 不分析 C++ 代码并显示警告文件不在项目目录下

C++ CppCheck 算法建议(std::find_if 而不是原始循环)相关性

c - 如何设置 cpp_cp 检查选项?

c++ - 如何检查一个类是否具有一个或多个具有给定名称的方法?

c++ - 关于模板和迭代器的错误

c++ - Q : why _rvalues_ were renamed to _prvalues_?(纯右值)

c++ - 重载operator=时出现: expected constructor, destructor, or type conversion before '&' token错误

continuous-integration - 通过 cppcheck 分析的结果在 TeamCity 中构建失败的任何方式