【发布时间】:2021-09-17 08:30:48
【问题描述】:
在cppcheck规则列表中有
我已经在我的解决方案中的几个类中编写了一个对虚函数的调用,并对它们运行 cppcheck,但它没有显示此错误。
我使用过 GUI,还使用 --enable=style 和 --enable=all 从命令行运行 cppcheck
如何让 cppcheck 显示这个问题? 我正在使用最新的 cppcheck
另一个我运行 cppcheck 的虚拟代码
class A
{
public:
A() { }
virtual void fin() = 0;
};
class B : public A
{
public:
B() { fin(); }
void fin() { std::cout << "l"; }
};
class C : public B
{
public:
C() {}
void fin() { std::cout << "c"; }
};
更新:我检查了 cppcheck 1.8,它显示了这个错误。尽管 2.5 的规则集规定它应该找到这样的规则,但 2.5 没有显示它们发生了什么?
【问题讨论】:
-
不是一个答案,而是一个可能的解决方案:)。你可以试试不同的代码分析工具:godbolt.org/z/bd5sccEKx
-
@AndreyKarpov pvs 工作室?可惜太贵了:(
-
获得免费 PVS-Studio 许可证的方法:pvs-studio.com/en/blog/posts/0614
标签: c++ c++11 static-analysis cppcheck