Templated Interfaces?

Jarrett Billingsley kb3ctd2 at yahoo.com
Tue Aug 26 06:50:18 PDT 2008


"Jarrett Billingsley" <kb3ctd2 at yahoo.com> wrote in message 
news:g911lg$ja5$1 at digitalmars.com...
> "Ary Borenszweig" <ary at esperanto.org.ar> wrote in message 
> news:g8vp2l$11nf$1 at digitalmars.com...
>>
>> Ouch. I first wrote
>>
>> I!(char)[3] array = new I!(char)[3];
>>
>> which compiles, and makes array a static array (you can't append to it). 
>> Then, for simplicity, I changed the type to auto... it seems new makes a 
>> dynamic array, but then it is implicitly converted to a static one, 
>> right?
>
> No.  When you write
>
> auto x = Y;
>
> it is identical to writing
>
> typeof(Y) x = Y;
>
> In this case, typeof(new I!(char)[3]) is I!(char)[].  A dynamic array.
>

Unless you meant in the non-auto case?  In which case I'm kind of surprised 
the compiler allows it since it normally does not allow you to reassign 
static arrays. 




More information about the Digitalmars-d-learn mailing list