author:
- luixiao1223
title: 请慎重看待警告信息
例子
class B {
public:
virtual void f() const;
};
class D: public B {
public:
virtual void f();
};
编译器会发出警告
warning: D::f() hides virtual B::f()
这个意思是隐藏了前面的函数.不是覆盖.有可能你会理解错误.也就是前面的那个函数仍然在.只是被后面的函数遮挡了起来.
方针
- 要明白每一个错误和警告背后的真实意义.
- 写出高警告级别下的无警告程序.
- 如果明白和警告的真实意涵.你反而可以忽略掉某些警告了.