配列の要素数について

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
タカユキ38

配列の要素数について

#1

投稿記事 by タカユキ38 » 9年前

ヘッダファイルに

コード:

struct Test{
	string testString[];
	int x;
        int y;
};
というように定義して、
ソースコードに

コード:

Test test[] = {
 {{"aaa","bbb"},100,200},
 {{"ccc","ddd",ccc},150,250},
};
というように書いているのですが、エラーが出てしまいます。
エラーの内容からtestString[]に要素数を指定してないことが問題だと思っています。
ただ、配列ごとに格納するstringの数を変えたいので要素数はできれば指定したくありません。
いろいろ調べてみたのですがいい方法が見つかりませんでした。
要素数を指定しなくてもエラーが出ない方法がありましたら教えてください。

アバター
みけCAT
記事: 6734
登録日時: 14年前
住所: 千葉県
連絡を取る:

Re: 配列の要素数について

#2

投稿記事 by みけCAT » 9年前

タカユキ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},
};
のように書けます。
複雑な問題?マシンの性能を上げてOpenMPで殴ればいい!(死亡フラグ)

タカユキ38

Re: 配列の要素数について

#3

投稿記事 by タカユキ38 » 9年前

std::vector<string> testStringに変えたらエラー出なくなりました。
ありがとうございます。

閉鎖

“C言語何でも質問掲示板” へ戻る