/Za
コンパイラが厳密に標準のISOC++を使用するように、言語拡張を無効にするコンパイラオプションを設定しました。これは私が次の警告を受けているサンプルのインターフェースクラスです
警告C4180:関数型に適用された修飾子には意味がありません。無視されます
これは、関数の戻りタイプのconst修飾子に関するものです。constを削除すると、警告が消えますが、それはしたくありません。むしろ、言語拡張を有効に戻したいのです。
私の質問は次のとおりです。その警告は合理的ですか?そうでない場合は、プラグマを使用して警告を無効にしますが、その前に、この警告が「誤検知」であることを確認したいと思います。
次のクラスは正しいANSIISOC ++なので、そうではありませんか?したがって、警告を無効にする必要がありますか?
class IBet
{
public:
IBet() { };
virtual ~IBet() = 0 { };
virtual const float parentChips() const = 0; // Warning C4180
virtual const short parentChilds() const = 0; // Warning C4180
// ...
};