
传参数的是,形参和实参不一致了!(调试时候发现的), 本人搞不太懂是什么回事,请各路大神指点一下。。。
//这是构造函数
Color::Color(float r, float g, float b, float a)
{
R = r;
G = g;
B = b;
A = a;
}
//下面三个是操作符重载
Color Color::operator + (Color &c)
{
return Colo(R + c.R, G + c.G, B + c.B, A + c.A);
}
Color Color::operator - (Color &c)
{
return Color(R - c.R, G - c.G, B - c.B, A - c.A);
}
//(就是这个操作符重载出了问题上面2个好像都没事)
Color Color::operator * (float f)
{
return (R * f, G * f, B * f, A * f);
}
操作语句:
float x;
float y;
float slope;
float xdiff = x2 - x1;
float ydiff = y2 - y1;
slope = ydiff / xdiff;
for(x=x1; x<=xdiff; x+=1.0f)
{
y = ((x - x1) * slope) + y1;
Color color = color1 + ((color2 - color1) * ((x - x1) / xdiff));(主要是这句)
}
我感觉我操作符重载没写错但是构造的时候就错了如果不是操作符重载的问题,又会是什么问题呢?
1 ljcarsenal 2015-04-25 10:36:57 +08:00 return (R * f, G * f, B * f, A * f); ?? 不应该是 return Color(R * f, G * f, B * f, A * f); ? |
2 HxSeek OP 对哦,原理是我粗心``` |
3 opkgopkg 2015-04-25 12:07:50 +08:00 via Android 萌萌。 |
4 lirau 2015-04-25 17:45:44 +08:00 哒 |
5 eastphoton 2015-04-25 18:55:11 +08:00 呵呵 |
6 VirgilMing 2015-04-26 01:19:48 +08:00 via iPhone 为啥那个错的重载可以编译通过?float 可以隐式转换为自定义类? |