Здравствуйте, Pils, Вы писали:
P>P>void find_word (Node* curr, string command, unsigned int fr_count)
P>{
...
P> if (num)
P> {
P> tmp = curr->words[fr_count];
curr->>words.erase(curr->words.begin() + fr_count);
curr->>words.insert(
curr->words.begin() + fr_count - num /// Ошибка тут: begin() + 0 - 1
, tmp);
P> }
P>}
P>
В данном конкретном случае ошибка в указанном месте: ты пытаешься передать в функцию вставки итератор
begin()-1
Поведение, очевидно, зависит от реализации
vector::iterator
typedef T0 iterator;
The type describes an object that can serve as a random-access iterator for the controlled sequence. It is described here as a synonym for the implementation-defined type T0.
Ну и, как уже сказали выше, тебе вообще повезло, что программа доходит до этой точки