digitalmars.D - multidimensional AAs
- bobef (8/8) May 11 2005 Are multidimensional AAs possible?
- Burton Radons (11/22) May 11 2005 Read declarations from right to left. That is an associative uint array...
Are multidimensional AAs possible? I have this: byte[char[]][uint] m_on; then when I say m_on["char"][13]=1; dmd says that ot can't convert "char" to uint and 13 to char[]... so I switch them and it compiles but it is supposed to work at all and is this the way it should work? (in my case I use variables of couse not "char" && 13)
May 11 2005
bobef wrote:Are multidimensional AAs possible? I have this: byte[char[]][uint] m_on; then when I say m_on["char"][13]=1; dmd says that ot can't convert "char" to uint and 13 to char[]... so I switch them and it compiles but it is supposed to work at all and is this the way it should work? (in my case I use variables of couse not "char" && 13)Read declarations from right to left. That is an associative uint array of associative string arrays of bytes. So this would work instead: m_on[13]["char"]=1; This change was done some years back because the old declaration method was both right-to-left and left-to-right, leading to C's unreadable complex declarations, and particularly how confusing it was when you would break down a complex type into a series of typedefs. It's a thirty-year-old mistake (types should be on the right and read left-to-right) and we can't entirely fix it without breaking C declaration compatibility altogether.
May 11 2005