私の友人の 1 人が、Allegro で色を比較するために等値演算子をオーバーロードしようとしていますが、うまくいきません。彼は "no match for operator==" というエラーを受け取ります。これは、Color クラス/構造体の外でオーバーロードされています。下に示された:
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 の外部で定義および実装されているため、これは機能しないと思いますよね? この問題をどのように解決できますか、Allegro Color 構造体の外でオーバーロードすることは可能ですか?