У меня есть программа на C ++ с вектором символов, содержащим строку символов. Цель этой программы - проверить эту последовательность и: 1) заменить строчную букву на ее аналог в верхнем регистре 2) удалить числовые символы в последовательности
Для этого я использовал erase () и insert () функций, но после первой функции insert () программа выдает ошибку
vector emplace iterator outside range
Вот моя программа:
vector<char> symbols{'g', 'l', 'H', 'L', '6', '5', 'd', 'G', 'A'};
for (cPtr = symbols.begin();cPtr < symbols.end();cPtr++) {
if (*cPtr > 'a' && *cPtr < 'z') {
symbols.erase(cPtr);
symbols.insert(cPtr, (*cPtr-22));//here is the error
}
if (*cPtr > '1' && *cPtr < '10') {
symbols.erase(cPtr);
cPtr--;
}
}