尝试使用for循环填充char矢量时遇到此错误,“Vector iterator not incrementable”。该循环应该检查第一个向量,其中每个正确的字母被索引,然后它相应地填充第二个向量与相同索引处的字母。循环中的某些内容是否会导致此错误?
for (filler = word.begin(); filler != word.end(); filler++)
{
if (*filler == letter)
guess.insert(filler, letter);
}
答案 0 :(得分:0)
filler是向量“word”的迭代器。它不能用作插入猜测的第一个参数,因为过滤器不会指向猜测。
如果希望它出现在同一个索引处,可以使用filler - word.begin()重建索引。然后你可以使用它来索引猜测
for (filler = word.begin(); filler != word.end(); filler++)
{
if (*filler == letter)
guess.insert(guess.begin() + (filler - word.begin()), letter);
}