Я на Ubuntu 18.04 использую компилятор по умолчанию c ++, который входит в комплект.Я пытаюсь получить требуемый размер вектора с клавиатуры и в конечном итоге заполнить вектор возрастающим значением i в функции makeGaps.Затем я хотел бы вернуть заполненный вектор в мою переменную x.Тем не менее, когда я запускаю приведенный ниже код, после того, как он отображает «размер вводимого промежутка», он ничего не делает даже после того, как я предоставил целое число.Нет вывода, нет ошибок, а также в блоках кода все значки отладчика становятся серыми.Код также не заканчивается, и я не могу понять, что не так.
#include <iostream>
#include <vector>
using namespace std;
vector<int> makeGaps (int size){
vector<int> vectorOfGaps(size);
for(int i = 0; i <= vectorOfGaps.size();i++){
vectorOfGaps.push_back(i);
}
return vectorOfGaps;
}
void printV(vector<int> collection){
for (int i = 0; i <= collection.size(); i++){
cout << collection[i]<< '\n';
}
}
int main()
{ //get the number of gaps required
int numberOfGaps;
cout << "Enter gap size";
cin >> numberOfGaps;
vector<int> x = makeGaps(numberOfGaps);
printV(x);
return 0;
}
Кроме того, если я запустил его в терминале, который идет с кодом, он сломал мою машину.