I am trying to create an empty vector inside a loop, and want to add an element to the vector each time something is read in to that loop.
#include <iostream> #include <vector>  using namespace std;  int main() {    std::vector<float> myVector();     float x;    while(cin >> x)       myVector.insert(x);     return 0; }  But this is giving me error messages.
To insert an element in the vector, we can use vector::push_back() function, it inserts an element at the end of the vector. Syntax: vector_name. push_back(element);
Adding elements in a vector in R programming – append() method. append() method in R programming is used to append the different types of integer values into a vector in the last. Return: Returns the new vector after appending given value.
You need to use std::vector::push_back() instead:
while(cin >> x)   myVector.push_back(x); //         ^^^^^^^^^   and not std::vector::insert(), which, as you can see in the link, needs an iterator to indicate the position where you want to insert the element.
Also, as what @Joel has commented, you should remove the parentheses in your vector variable's definition.
std::vector<float> myVector;   and not
std::vector<float> myVector();   By doing the latter, you run into C++'s Most Vexing Parse problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With