On Friday, 26 February 2016 at 03:18:02 UTC, Nicholas Wilson wrote:
On Friday, 26 February 2016 at 02:48:35 UTC, cym13 wrote:
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?

As you did:

    void main() {
        int i = 42;
        B b = B(&i);
        int* p = cast(int*)b.a.p;
        assert(*p == 42);
    }

        a.p = _p;
fails to compile
fixed by
a = typeof(a)(_p);

What compiler and version are you using ? Because I literally just copied your example and added my main and got no error.

Reply via email to