结构中的重载运算符

时间:2016-03-24 20:26:16

标签: c++ struct overloading operator-keyword

我的结构如下:

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个像素作为参数但是如何比较???

0 个答案:

没有答案