как обратиться к самомму итератору vector'a?

214
23 декабря 2017, 05:48
std::vector<std::string> list {};
for (vector<string>::iterator i = list.begin(); i != list.end(); ++i)
{
   string do_string(*i);
   if (i % 2 == 0) //ошибка компиляции no match for 'operator%' in 'i % 2'
   {
   }
}

Нужно выяснить какое значение итератора четное, а какое нечетное.

Answer 1

Порядковый номер? Вычитайте begin:

(i - begin(list)) % 2 == 0
READ ALSO
Qt C++ воспроизведение и остановка слайдера

Qt C++ воспроизведение и остановка слайдера

У меня есть две кнопки (Старт и стоп) и слайдерСтарт, соответственно, начинает воспроизведение, а стоп должна останавливать

225
java.lang.IllegalStateException при выполнении setPixel

java.lang.IllegalStateException при выполнении setPixel

Считываю изображение из галереи, далее помещаю его в ImageView, все корректноОднако, когда я пытаюсь изменить пиксель, то получаю данную ошибку

231
Внутренние и вложенные классы

Внутренние и вложенные классы

Внутренние и вложенные классы — это не одно и тоже

209