我的结构如下:
struct pixel{
int val;
int x;
int y;
pixel(int v = 0, float l = 0, float h = 0)
{
val = v;
x = l;
y = h;
}
bool operator == (const pixel &p1, const pixel &p2) //ERROR
{
if(p1.val() == p2.val()) return true;
else return false;
}
};
我有2个像素(12,0,1)和(66,2,2) 我想比较它们是否具有相同的值,即12不等于66
我的主要是:
int main()
{
pixel b;
b.val=12;
b.x=0;
b.y=1;
pixel c;
c.val=66;
c.x=2;
c.y=2;
if(b==c) //ERROR
{ ///do sth
}
return 0;
}
错误在于操作符重载:参数太多,它应该取1个像素作为参数但是如何比较???