On Tuesday, 11 December 2012 at 03:28:00 UTC, d coder wrote:
Greetings

I too find this very useful. I am also having this situation often when there is an array of nested struct instances inside a class environment. This is a common scenario and deserves attention. Also I believe (looking at D1 forums) that there was a time in the past when D1 nested structs did
support 'outer'.

But unfortunately structs are neglected part of D, so I am not sure if developers give an ear to this thread. To make D truly a systems language
we need to make structs more robust and feature rich.

Regards
- Puneet

If I want to manually pass the parent pointer to a child struct, how do I do it? The compiler won't allow me to use "this" from the parent until after the parent has been instantiated.

The solution I came up with is to create a default constructor for the parent that sets the child struct with the parents pointer. It works but maybe there's a better way?

BTW, the same situation happens with structs defined inside structs, they will not have access to the parent struct members unless you manually pass a pointer into the child struct at some point after the parent struct's address becomes known. You cannot create a default constructor for a struct, so reliably initializing the child struct with the parents pointer is problematic.

--rt

Reply via email to