내 친구 중 하나가 Allegro에서 색상을 비교하는 동등 연산자를 오버로드하려고 시도하지만 작동하지 않지만 "연산자와 일치하지 않음 =="오류가 발생합니다.이 오류는 Color 클래스 외부에서 오버로드됩니다/구조체, 오버로드 된 연산자 함수는 다음과 같습니다 :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 =='는 어떤 클래스의 멤버 함수 인 것처럼 보입니다. 그 맞습니까? –
"친구"에게이 일을하고 있다는 것을 알아두면 좋겠지 만, 이런 종류의 세부 사항은 아마 그렇게 할 필요가 없을 것입니다. 일반적으로 질문이 짧을수록 좋습니다. –