关于隐藏基本功能的警告

时间:2015-08-12 21:38:49

标签: c++ inheritance virtual-functions method-hiding

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

我能做些什么来自动检查编译器警告或工具等情况吗?

这与Prevent derived classes from hiding non virtual functions from baseNo warning for hiding non-virtual methods with similar prototype (G++ 4.4)类似,但我正在寻找一种在现有代码库中检测这些问题的实际解决方案。也许只是对隐藏功能的警告就足够了(我认为该列表足够小,可以逐个查看)

手动更改代码库以添加“覆盖”或“最终”左右不是一个选项,因为此检查应该只进行一次。一个全局的解决方案,比如定义“最终”所有非虚拟函数,防止它们被隐藏起来就可以了。

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

0 个答案:

没有答案