zoukankan      html  css  js  c++  java
  • effective C++ 条款 53:不要轻忽编译器的警告

    class B{
    public:
        virtual void f() const;
    };

    class D: public B{
    public:
        virtual void f();
    };

    这里希望重新定义virtual函数B::f,但有个错误,B中的f是个const成员函数,但D中未被声明const。有编译器就这样说:

    warning:D::f() hides virtual B::f()

    这个编译器试图告诉你声明于B中的f并未在D中重新声明,而是被遮掩了。如果忽略这个警告,几乎肯定会导致错误的程序行为,然后是许多调试行为,只为了找出编译器其实早就侦测出来并告诉你的事情

    努力在你的编译器的最高警告级别下争取“无任何警告”的荣誉。

    不同编译器的警告标准不同,所以,不能草率编程然后依赖编译器为你指出错误。

    在你打发某个警告之前,确定你了解它意图说出的精确意义。这很重要。

  • 相关阅读:
    Appium
    Appium滑动直到页面底部
    使用Maven以及碰到的坑们(持续更新中。。。)
    通过license server激活IntelliJ IDEA
    HDU 1166
    HDU 2444
    HDU 浙江科技学院校赛2016
    HDU 5651
    HDU 5650
    Interview 位运算
  • 原文地址:https://www.cnblogs.com/lidan/p/2358792.html
Copyright © 2011-2022 走看看