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?

Reply via email to