Я думаю, что вы должны увидеть проблему с другой точки зрения. Как я понимаю из предоставленного кода, который является неполным, как было упомянуто в комментариях, вы пытаетесь заполнить вектор типа int, но вы не знаете, сколько элементов вы собираетесь хранить. I предложил бы разбор строки с клавиатуры с таким количеством целых чисел, сколько хочет пользователь. А затем, используя std :: stringstream из потоковой библиотеки, вы можете получить все целые числа, включенные в эту строку. Вот простая реализация того, что я пытаюсь сказать:
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
string s;
stringstream iss( s );
cin>>s; //Write the numbers divided by space
getline(cin,s);
int number;
vector<int> n;
while ( iss >> number )
n.push_back( number );
Содержанием вектора будут все числа, которые вы ввели в строку.
Надеюсь, что это решит вашу проблему.