On Sunday, 15 January 2023 at 12:37:43 UTC, Paul Backus wrote:
On Sunday, 15 January 2023 at 12:26:15 UTC, thebluepandabear
wrote:
If I have the following code:
```D
class X {
private int num;
struct Y {
// how to access num?
}
}
```
How would I access `num` from `Y`?
Whenever I try to I get a compilation error.
I believe that it's possible for nested/inner classes, but I
don't know if it's possible for structs.
Help would be apprciated.
I don't think this works for structs. As a workaround, you give
your struct an explicit reference to the outer class, like this:
```D
class X {
private int num;
struct Y {
X outer;
int fun() { return outer.num; }
}
}
```
Thanks.
How will the variable `outer` become the reference to the current
`X` object (if that makes sense?). Does the compiler do it
automatically?