Why use .init for associative arrays?
Robert Fraser
fraserofthenight at gmail.com
Tue Jul 10 16:57:19 PDT 2007
Possibly related to this:
http://d.puremagic.com/issues/show_bug.cgi?id=1315
Try with a runtime value.
Gilles G. Wrote:
> Hello,
> I am just wondering why we should use init for associative arrays of structs. See this code for example:
> struct S
> {
> int nb;
> }
> void main()
> {
> S[char[]] aa; // associative array of struct S
> aa["this_is_good"] = S.init;
> aa["this_is_good"].nb = 1; // all right
> aa["this_is_an_error"].nb = 1; // runtime error, compiles fine...
> }
>
> I can't see a use case for _not_ using init before accessing a new key, so why do we have to explicitely use S.init?
> Why does this code compile fine (it gives an access violation error at runtime), shouldn't it always give an error?
>
> Regards.
>
> --
> Gilles
>
More information about the Digitalmars-d-learn
mailing list