ループ内の空のベクトルに要素を追加するにはどうすればいいですか? 質問する

ループ内の空のベクトルに要素を追加するにはどうすればいいですか? 質問する

ループ内に空のベクトルを作成し、そのループに何かが読み込まれるたびにベクトルに要素を追加しようとしています。

#include <iostream>
#include <vector>

using namespace std;

int main()
{
   std::vector<float> myVector();

   float x;
   while(cin >> x)
      myVector.insert(x);

   return 0;
}

しかし、これによりエラーメッセージが表示されます。

ベストアンサー1

使用する必要があるstd::vector::push_back()その代わり:

while(cin >> x)
  myVector.push_back(x);
//         ^^^^^^^^^

そしてそうではないstd::vector::insert()リンクからわかるように、要素を挿入する位置を示す反復子が必要です。

また、@Joelがコメントした内容ベクトル変数の定義内の括弧を削除する必要があります。

std::vector<float> myVector;

そしてない

std::vector<float> myVector();

後者を実行すると、C++の最も厄介な解析問題。

おすすめ記事