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

时间:2018-03-11 14:38:38

标签: c++ cppcheck

以下是main.cpp的{​​{3}}:

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。

1 个答案:

答案 0 :(得分:2)

您好我是Cppcheck开发人员。

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

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

有关信息,这不是一个非常难以解决的问题。