以下是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。
答案 0 :(得分:2)
您好我是Cppcheck开发人员。
检查员有一个缺点。所以这个缺失的警告不是故意的。
我创建了这张票: http://trac.cppcheck.net/ticket/8433
有关信息,这不是一个非常难以解决的问题。