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