質問: V_0[2]; //上記のような書き方だと、10×200が埋まってしまうと自分でreallocみたいな拡張をしないといけないので //下のようにemplace_backで末尾に入れて自動的に拡張してもらいたい vertex_data[regi_num][vertex_count].V_0.emplace_back(V_0); ここでエラー「式にはクラス型が必要です」となります。stdってちゃんと書いているのに。 もちろんusing namespace stdも書いてます。 C++は始めたばかりでわかりません。どなたか教えてください。 やりたいこととしては二次元配列にデータを格納していきたいです。 [人名][その人の特徴]みたいなデータ内容なのでその人名によって特徴の数は大小あります。
回答: 質問者が提示している `vertex_data` について、 `vertex_data[regi_num][vertex_count].V_0` の型は `float[5]` ですのでメンバ関数を持っていません。 ドット演算子経由でメンバ関数を実行するにはメンバ関数を持っている存在なければならないので「クラス型が必要です」と言っています。 伸ばしたいのは `vertex_data` もしくは `vertex_data[regi_num]` だと思われるので、その `emplace_back` を呼び出さなければなりません。