ページ 1 / 1
配列の要素数について
Posted: 2015年11月01日(日) 15:38
by タカユキ38
ヘッダファイルに
コード:
struct Test{
string testString[];
int x;
int y;
};
というように定義して、
ソースコードに
コード:
Test test[] = {
{{"aaa","bbb"},100,200},
{{"ccc","ddd",ccc},150,250},
};
というように書いているのですが、エラーが出てしまいます。
エラーの内容からtestString[]に要素数を指定してないことが問題だと思っています。
ただ、配列ごとに格納するstringの数を変えたいので要素数はできれば指定したくありません。
いろいろ調べてみたのですがいい方法が見つかりませんでした。
要素数を指定しなくてもエラーが出ない方法がありましたら教えてください。
Re: 配列の要素数について
Posted: 2015年11月01日(日) 15:50
by みけCAT
タカユキ38 さんが書きました:要素数を指定しなくてもエラーが出ない方法がありましたら教えてください。
Testを使わなければ、要素数を指定しなくてもエラーが出ませんでした。
タカユキ38 さんが書きました:ただ、配列ごとに格納するstringの数を変えたいので要素数はできれば指定したくありません。
std::vectorを使うといいかもしれません。
コード:
#include <vector>
struct Test{
std::vector<string> testString;
int x;
int y;
};
C++11以降なら、初期化子リストが使えるので
タカユキ38 さんが書きました:コード:
Test test[] = {
{{"aaa","bbb"},100,200},
{{"ccc","ddd",ccc},150,250},
};
のように書けます。
Re: 配列の要素数について
Posted: 2015年11月01日(日) 16:07
by タカユキ38
std::vector<string> testStringに変えたらエラー出なくなりました。
ありがとうございます。