私はOpenCVを使用してシステムを開発しています。このシステムには、OpenCVで使用される仮想関数と同じ名前(train)の仮想関数を持つクラスがあります。コンパイルすると、次の警告が表示されます。
/opt/local/include/opencv2/ml/ml.hpp:957:18:警告:'CvForestTree::train'はオーバーロードされた仮想関数を非表示にします[-Woverloaded-virtual]
オーバーロードされた仮想関数の非表示に関連するほとんどの質問はクラスと派生クラスを扱いますが、この場合、私の(おそらく間違った)仮定は、OpenCVが実装するクラスが同じ名前の関数を持っているということです。関数のクラス定義を機能させるには、OpenCVヘッダーを含める必要があることに注意してください。
明らかに、私が作成したクラスの関数の名前を変更したくないので、この問題を解決するために愚かなことをしているのではないかと思います。
編集:CvForestTreeはOpenCVのクラスであり、私のものではありません。OpenCVヘッダーを含むファイルに対して警告が発生するため、問題の原因となるコード行の正確な領域がわかりません。多分それはそれがOpenCVのバグであることを意味します。