Я считаю, что я делаю все правильно, но строка не заполняется символами, которые она назначена. Вот что я знаю, тестируя: random - правильный символ, q - правильный int, а s [i] .name - строка. Я попытался использовать .at (q) и [q], но ничего не работает.at() не работает в функции
Это моя ошибка:
Terminate вызывается после метания экземпляра 'станд :: out_of_range' , что(): basic_string :: на Abort (ядра) сбрасывали
for (int i = 0; i < num; i++) {
int q = 0;
char random = 50;
for (; random != 32;) {
file.get(random);
s[i].name.at(q) = random;
q++;
}
q = 0;
}
cout << s[0].name;
Как мне кажется, вы пытаетесь присвоить 'char' rval (и rval не существует). –
Согласно вашей логике, 'q' может иметь большее значение, чем' s [i] .name' имеет символы. –