この方法でクラスのベクトルを初期化する必要があります
vector<string> test("hello","world");
しかし、私がそれを行うと、コンパイラはそれを関数として認識し、エラーのようなエラーを出します: 文字列定数の前に識別子が必要です.
こうすると
vector<string> test = ("hello","world")
それは大丈夫です..方法でそれを行う方法はありますvector<string> test("xx")
か?
std :: vectorには、そのように初期化できるようなコンストラクターはありません。そして、2番目の例は、最終的にベクトルになる"world"
もの(,
演算子が行うこと)に評価されます。
宣言時にベクトルを初期化する場合は、初期化子リストを使用します。
vector<string> test = {"hello", "world"};
これを機能させるには、ソースコードをC++-11モードでビルドしてください。C ++ -11互換のコンパイラがない場合は、後でベクトルに値を追加する必要があります。
vector<string> test;
test.push_back("hello");
test.push_back("world");