- ベストアンサー
D言語の連想配列の配列
D言語で連想配列の配列を使いたいのですが、 以下のソースをコンパイルするとコンパイルエラーが起きます。なにがいけないのでしょうか。 int main(char[][] args) { int[3][char[]] x; x[0]["abc"]=1; return 0; } エラーメッセージ test.d(4): cannot implicitly convert expression 0 of type int to char[] test.d(4): cannot implicitly convert expression "abc"i of type char[3] to int
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
int[3][char []] x; と宣言しているのだから, 使うときには x["abc"][0] = 1; のようになるのでは?
その他の回答 (1)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.2
>keyの配列を得たいのですが char [][] keys; keys=x.keys; foreach(char[]k;keys){ printf("%.*s\n",k); } でいいみたいです。 はっきりいって、何でこれでいいのか私も良くわかりません。(;^_^A 勉強になります
質問者
お礼
回答ありがとうございます。 私は連想配列をたくさんつかいたかったのですが そのばあいはint[char[]][3]と宣言しなければ いけなかったようです。 これならx[0],x[1],x[2]が使えます。
お礼
回答ありがとうございます。 逆になるんですね。 ところでkeyの配列を得たいのですがx[0].keysとやると怒られてしまいます。どうしたらいいですか。