传参数的是,形参和实参不一致了!(调试时候发现的), 本人搞不太懂是什么回事,请各路大神指点一下。。。
//这是构造函数
Color::Color(float r, float g, float b, float a)
{
R = r;
G = g;
B = b;
A = a;
}
//下面三个是操作符重载
Color Color::operator + (Color &c)
{
return Color(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 1
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 可以隐式转换为自定义类?
|