how to initialise const variables
cym13 via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Feb 26 05:27:25 PST 2016
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.
More information about the Digitalmars-d-learn
mailing list