Почему я получаю сообщение об ошибке «индекс вектора вне допустимого диапазона» для своего кода?
class CSVRow
{
public:
string const& operator[](size_t index) const
{
return m_data[index];
}
size_t size() const
{
return m_data.size();
}
void readNextRow(istream& str)
{
string line;
getline(str, line);
stringstream lineStream(line);
string cell;
m_data.clear();
while (getline(lineStream, cell, ','))
{
m_data.push_back(cell);
}
}
private:
vector<string> m_data;
}
;
istream& operator>>(istream& str, CSVRow& data)
{
data.readNextRow(str);
return str;
}
int main()
{
ifstream file("full_training_dataset.csv");
CSVRow row;
while (file >> row)
cout << row[1] << endl;
return 0;
}
[]
является доступом за пределы. - person M Oehm   schedule 03.12.2015size()
перед доступом к ячейке с определенным индексом. - person M Oehm   schedule 03.12.2015row[1]
для доступа? - person PaulMcKenzie   schedule 03.12.2015