c++ - 是否有一个 lint 工具可以检查子类虚函数是否与父类定义匹配?

标签 c++

我刚刚在一个重要的代码库中更改了一堆虚拟方法以支持 64 位可移植性。我已经在代码库中进行了多次搜索,寻找需要编辑以更改虚拟函数参数类型的派生类。不幸的是,编译器(VS2013)没有警告我该函数的派生类版本具有错误的类型并且不会被调用。我一直在寻找我错过的实例。除了非常彻底之外,我还想运行一个工具来为我完成所有检查。

有这样的工具吗?

最佳答案

有一个更简单的解决方案:使用 override specifier 。如果在子类虚函数末尾添加override,那么当你改 rebase 类虚函数的参数时,就会出现编译错误,除非你也改变子类虚函数。

您还可以使用final specifier表明虚函数不能由子类实现。

关于c++ - 是否有一个 lint 工具可以检查子类虚函数是否与父类定义匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45271947/

相关文章:

c++ - 将指针分配给指针数组中的索引

c++ - 追求更好的位标志枚举

c++ - 使用模板...我的代码有什么问题?

c++ - 等待输入时执行无限循环

c++ - 取消引用无效指针时如何在 Visual C++ 2017 调试器中出错?

c++ - 比较两个类型的多重集是否相等

c++ - 运算符重载和不同的模板参数

c++ - 如何在 Xcode 中获得 std::optional 支持?

c++ - 在 C++ 中,使用内联说明符的正确方法是什么?

c++ - 转换大约 150mb 字符串的快速方法