警告C4180:应用于函数类型的限定符没有意义;忽视

时间:2012-04-28 13:19:33

标签: c++ visual-studio warnings const return-value

我已经设置了编译器/Za选项来禁用lanquage扩展,以便编译器严格使用标准ISO C ++。 这是我收到以下警告的示例接口类

  

警告C4180:应用于函数类型的限定符没有意义;   忽略

它是关于const限定符的返回类型的函数,如果我删除const,警告消失但我不想那样做,我想要启用lanqage扩展。

我的问题是:这个警告是否合理? 如果不是那么我将使用pragma来禁用警告但在此之前我想确定此警告是“误报”

因为以下类是正确的ANSI ISO C ++ Isn'it?所以警告应该被禁用?

    class IBet
    {
    public:
        IBet() { };
        virtual ~IBet() = 0 { };
        virtual const float parentChips() const = 0; // Warning C4180
        virtual const short parentChilds() const = 0; // Warning C4180
            // ...
    };

1 个答案:

答案 0 :(得分:7)

两个函数的返回值声明为const。由于它是通过值传递的,因此没有任何意义。您可以删除const,因为它绝对没有用处。