这是一个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/