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中重新声明,而是被遮掩了。如果忽略这个警告,几乎肯定会导致错误的程序行为,然后是许多调试行为,只为了找出编译器其实早就侦测出来并告诉你的事情

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

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

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

  • 相关阅读:
    Django-haystack对接elasticsearch
    Django http 和 https 官网解答
    -bash: nohup: command not found
    Mysql 10060登录异常解决方法
    ssh
    sed grep awk用法
    grep用法
    shell 随笔
    列表生成式
    css
  • 原文地址:https://www.cnblogs.com/lidan/p/2358792.html
Copyright © 2011-2022 走看看