Я пишу функцию, которая открывает текстовый файл и читает каждую строку, добавляя ее к вектору строк (каждая строка - всего одно слово). Код компилируется, но завершается с ошибкой при попытке его запустить.
Вот ошибка, которую я получаю после вызова функции и попытки печати вектора:
terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted
ЕслиЯ вызываю функцию, но не печатаю вектор, я получаю Segmentation Fault
Я посмотрел эту ошибку в Интернете, но не смог найти точных определений того, что она означает. Из того, что я увидел, кажется, что эта ошибка вызвана использованием слишком большого количества памяти. Может быть, в моем коде есть что-то, что вызывает бесконечный цикл ?? Что именно означает эта ошибка, и как она применима к написанному мною коду?
vector<string> readToVector(string fileTo) {
vector<string> setVector;
string temp;
ifstream openSet(fileTo.c_str());
if (openSet.is_open()) {
while ( getline (openSet,temp) ) {
setVector.push_back(temp);
}
}
else {
cout << "Unable to open set file." << endl;
}
}