Не существует общего типа для std::string::iterator
и std::string::reverse_iterator
.
Если вы хотите выбрать между ними, вам нужно будет иметь разные функции для каждого типа. Самый простой способ сделать это с помощью шаблона
1007 * Е.Г. *
template <typename Iterator>
void do_stuff(Iterator begin, Iterator end)
{
...
}
int main()
{
string a;
if (...)
do_stuff(a.begin(), a.end());
else
do_stuff(a.rbegin(), a.rend());
return 0;
}