On Friday, 26 February 2016 at 02:32:44 UTC, Nicholas Wilson wrote:
struct A
{
     const (void *) p;
}

struct B
{
    A    a;
    this(void * _p)
    {
        a.p = _p;
    }
}

I cannot change the definition of A
how do I initialise b.a.p?

Use a constructor for A instead of trying to write to one specific member:

a = A(_p);

const variable must be initialized in constructors. Structs have automatically defined constructors that take all the member variables so even if it isn't explicitly written, you can still do this.

Reply via email to