Результат выражения, неиспользуемый в Xcode

#c #xcode #compiler-warnings

#c #xcode #предупреждения компилятора

Вопрос:

ВСЕ,

Следующее выдает предупреждение:

 std::list<MyList>::iterator it = std::next( m_lines.begin(), m_currentLine - 1 );
for( it; it != m_lines.end();   it )
  

Красная закорючка указывает на ошибку в it; .

В чем здесь проблема и как мне это исправить?

Я использую OSX 10.13 с Xcode 9, если это имеет значение.

TIA!

Комментарии:

1. Вашему циклу for не нужен первый it. Это ничего не делает. Вы уже определили это.

2. Выражение it в первой части цикла for вообще не служит никакой цели.

3. Вы уже выполнили часть инициализации цикла for здесь — std::list<MyList>::iterator it = std::next( m_lines.begin(), m_currentLine - 1 ); , поэтому вы можете просто записать цикл for как for( ; it != m_lines.end() ; it) .

4. @dukeforever, спасибо. Вы дали объяснение и код, так что я поддержал ваш ответ.