Dynamic multi-dimensional arrays
    Steve Schveighoffer 
    schveiguy at yahoo.com
       
    Wed Jan 14 12:40:54 PST 2009
    
    
  
On Wed, 14 Jan 2009 20:32:48 +0100, Hoenir wrote:
> Having a small "problem" here:
> (Tile is a struct)
> 
> Tile[][] tiles = new Tile[85][85];
> 
> gives me
> Error: cannot implicitly convert expression (new
> Tile[85u][](cast(uint)85)) of type Tile[85u][] to Tile[][]
> 
> I'm trying to understand why that error occurs.
D interprets a new expression with an array index as:
new T[x]
means create a new dynamic array of type T with x elements.  Your T is 
interpreted as:
Tile[85], i.e. a static array.
it's not well known, but you can do this for what you want:
Tile[][] tiles = new Tile[][](85, 85);
-Steve
    
    
More information about the Digitalmars-d-learn
mailing list