gpt4 book ai didi

c++ - 在 C++ 中查找紧密成员函数名称

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:41:42 25 4
gpt4 key购买 nike

我刚刚遇到了一个错误(我自己造成的!),表现如下。我有一个带有虚拟成员函数的类,我需要通过为一些新用例添加一个额外的参数来扩展它。我用默认值添加了它,这样它就不会中断任何当前调用。我错过的是,还有另一个类继承自此类,该类具有对该函数的覆盖,但不再是覆盖。虽然我知道 override关键字来避免在添加新代码时出现这种情况,我想知道是否有任何方法可以找到词法上足够接近的所有函数,从而可能出现类似的错误。曾经做过一次,我有可能在过去的某个时间做过,并且想回顾性地检查代码库。

最佳答案

Clang 有警告标志 -Woverloaded-virtual

struct Base
{
virtual void foo(int = 42) {}
};

struct Derived : Base
{
virtual void foo() {} // Oups
};

Demo

您可能还对 clang-tidy with modernize-use-override 感兴趣,以添加 override 并在将来避免任何 C++11 兼容编译器中出现此错误。

关于c++ - 在 C++ 中查找紧密成员函数名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54347323/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com