我有一个C ++程序,其中char矢量包含一行符号。 该程序的目的是检查此顺序,并: 1)将大写字母更改为小写字母 2)删除序列中的数字符号
为此,我使用了delete()和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--;
}
}