2

我有一个 C++ 代码库,其中基类中的一些非虚拟方法或被派生类中的虚拟或非虚拟方法覆盖/隐藏。大多数情况下,这是代码中的错误。

我可以做些什么来自动检查诸如编译器警告或工具之类的情况?

这类似于防止派生类从基中隐藏非虚拟函数没有警告隐藏具有类似原型的非虚拟方法(G++ 4.4),但我正在寻找一种实际的解决方案来检测现有代码库中的这些问题。也许只是对隐藏功能的警告就足够了(我认为该列表足够小,可以一一浏览)

手动更改代码库以添加“覆盖”或“最终”左右不是一种选择,因为此检查只应执行一次。像定义“最终”所有非虚拟功能以防止它们被隐藏的全局解决方案是可以的。

我正在使用 Visual Studio 2012,但也可以访问 ubuntu 和 gcc。

4

0 回答 0