私の友人の1人が、Allegroの色を比較するための等価演算子をオーバーロードしようとしていますが、動作しません。 "演算子=="と一致しません。 /構造体、オーバーロードされた演算子関数を以下に示します。Allegroの等価演算子オーバーロード
typedef ALLEGRO_COLOR Color;
bool operator==(const Color& rhs) const
{
if(_col.a==rhs.a && _col.b==rhs.b && _col.g==rhs.g && _col.r==rhs.r)
return true;
else
return false;
}
.
.
.
//Data member
Color _col
イムオペレータが右、アレグロでALLEGRO_COLOR
外部に実装&を定義されているため、これが動作しない考え?どのようにしてこの問題を解決できますか?Allegro Color構造体の外にオーバーロードすることが可能ですか?
はあなたの問題を示し、最小限の、完全なプログラムを提供することができますか?あなたのコードを抜粋して判断すると、 'operator =='はあるクラスのメンバ関数であるようです。あれは正しいですか? –
"あなたの友人"のためにこれをやっていることを知ってうれしいことですが、このような詳細はおそらくSOには必要ないでしょう。一般的に、質問が短いほど良い。 –