Is this a operator overloading bug?
Tim Fang
no at spam.com
Wed Jan 10 22:58:23 PST 2007
I am very new to D and I am trying to implement a Vector3 struct, please
take a look at the code below, why the output is "nananan"? I use dmd 1.00.
--code---------------------
import std.stdio;
void main()
{
Vector3 a;
a.set(1,1,1);
a = a*2;
writefln(a.x, a.y, a.z);
}
struct Vector3
{
float x,y,z;
// constructor
void set(float _x, float _y, float _z)
{
x = _x;
y = _y;
z = _z;
}
Vector3 opMul(float s)
{
Vector3 ret;
ret.x = x*s;
ret.y = y*s;
ret.z = z*s;
return ret;
}
}
More information about the Digitalmars-d
mailing list