mutable array of immutable objects

Jeff Thompson via Digitalmars-d digitalmars-d at puremagic.com
Tue Apr 19 03:41:05 PDT 2016


I want to create a mutable array of immutable objects, but the 
code below gives the error shown below. It seems that "new 
immutable(C)[1]" makes the entire array immutable, but it seems I 
should be able to change the elements of an array of pointers to 
an object even though the objects are immutable. How to do that?

class C {
   this(int x) immutable { this.x = x; }
   int x;
}

void main(string[] args)
{
   auto array = new immutable(C)[1];
   array[0] = new immutable C(10); // Error: Cannot modify 
immutable expression array[0].
}



More information about the Digitalmars-d mailing list