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.