On Tue, 29 Dec 2009 09:01:38 -0500, teo <teo.ubuntu.rem...@yahoo.com>
wrote:
Consider following:
class A
{
int m;
void opAddAssign(int n) { m += n; }
}
class B
{
A a;
this() { a = new A; }
A Prop() { return a; }
}
void main()
{
B b = new B;
b.Prop += 3;
}
I get a compilation error (dmd v2.037):
test.d(17): Error: 'b.Prop' is not a scalar, it is a A()
test.d(17): Error: incompatible types for ((b.Prop) += (3)): 'A()' and
'int'
Am I doing something wrong, or is this a known issue with opAddAssign
and/
or properties?
This is part of the issue with properties that will be fixed with the
@property annotation.
try
b.Prop() += 3;
-Steve