public class cSomething {
private:
dstring pstrWhatever = null;
public:
@safe dstring whatever() { return pstrWhatever; }
@safe void whatever(const dstring lstrWhatever) { pstrWhatever = lstrWhatever; }
}
void main() {
cSomething lobjSomething = new cSomething();
lobjSomething.whatever = r"abc"d;
lobjSomething.whatever ~= r"def"d; /// Error: `lobjSomething.whatever()` is not an lvalue and cannot be modified
}
Thread overview |
---|
September 04, 2021 why is it a class property cannot be used like a.b ~= c; ? | ||||
---|---|---|---|---|
| ||||
September 04, 2021 Re: why is it a class property cannot be used like a.b ~= c; ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to someone | On Saturday, 4 September 2021 at 23:33:39 UTC, someone wrote: >
You're returning a copy of a slice, so if this compiled nothing useful would happen anyway. This works if |
September 05, 2021 Re: why is it a class property cannot be used like a.b ~= c; ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to jfondren | On Saturday, 4 September 2021 at 23:57:09 UTC, jfondren wrote: >You're returning a copy of a slice, so if this compiled nothing useful would happen anyway. This works if At first glance it seems a bit counter-intuitive but yes, you are right, thanks for the link jfronden :) |
Copyright © 1999-2021 by the D Language Foundation