On Friday, 30 November 2012 at 02:59:06 UTC, js.mdnq wrote:
I have a struct I am trying convert from int's to the type. Since I can't add a opCast overload to an int I don't know how to do it. My opCast convertors in my class do not work for the assignment operator:


class myType
{
   opCast, opAssign
}

mytype = 3;

Error that we can't convert an int to myType. While it's very easy to go from a myType to whatever by writing a cast for it(in the class), how do I go from an int to myType(in the class)?

For example, I can do

mytype = mytype.opCast(3);
or mytype.opAssign(3);

but these are too verbose to be useful.

Why can't you use opAssign? This works fine:

class A
{
    void opAssign(int i)
    {
        writeln(i);
    }
}

auto a = new A();
a = 1;                 // prints 1

Reply via email to