On Wednesday, 6 July 2016 at 02:19:47 UTC, Craig Dillabaugh wrote:
Why doesn't my function allow me to insert elements into an empty associative array, but succeeds for an AA with some element in it?

this is true for any dynamic array, including AAs. until something is added to array, it actually a `null` pointer. i.e. arrays (and AAs) generally consisting of pointer to data and some length/info field. while array is empty, pointer to data is `null`. and when you passing your dynamic array slice/AA to function, it makes a copy of those internal fields. reallocing `null` doesn't affect the original variable.

generally speaking, you should use `ref` if you plan to make your dynamic array/AA grow. i.e.

 void insertValue (ref int[][string]aa, string key, int value)

Reply via email to