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