Я делаю программу для класса, которая управляет отелем. У меня есть функция, которая сохраняет всю текущую информацию в программе. Но когда я пытаюсь загрузить обратно эту информацию, программа вылетает и говорит: Индекс вектора вне допустимого диапазона. Я попытался отладить и нашел область, в которой должна быть проблема (думаю, я правильно использовал отладчик?), но я не получаю никаких ошибок компилятора, поэтому я не могу понять, что не так. Какие-либо предложения?
void Customer::fromFileString(string data)
{
vector<string> field=tokenize(data);
name=field[0];
phoneNumber=field[1]; //<--- DEBUGGER SAYS ERROR IS IN THIS LINE
ccNumber=field[2];
customerID=stringToInt(field[3]);
int numberOfrooms = stringToInt(field[4]);
for(int i=0;i<numberOfrooms;i++)
{
roomsCheckedInto.push_back(stringToInt(field[5+i]));
}
}
Вот функция токенизации
vector<string> tokenize(string com)
{
istringstream is(com);
vector<string> vs;
string s;
while(!is.eof())
{
is>>s;
vs.push_back(s);
}
return vs;
}