我已经设置编译器选项
因为以下类是正确的ANSI ISO C++,是吗?所以警告应该被禁用?
/Za
来禁用语言扩展,以便编译器使用严格的ISO C++标准。以下是一个示例接口类,我收到了以下警告:
这个警告是关于函数返回类型中的const限定符的,如果我去掉const,则警告消失,但我不想这样做,也不想开启语言扩展。我的问题是:这个警告是否合理?如果不是,那么我将使用#pragma来禁用该警告,但在此之前,我想确保这个警告是“虚假警报”。警告C4180:对函数类型应用的限定符没有意义;已忽略
因为以下类是正确的ANSI ISO C++,是吗?所以警告应该被禁用?
class IBet
{
public:
IBet() { };
virtual ~IBet() = 0 { };
virtual const float parentChips() const = 0; // Warning C4180
virtual const short parentChilds() const = 0; // Warning C4180
// ...
};
/Za
引起的。如果您删除该开关,它是否会真正消失? - user180326const
添加了什么? - user743382