>
>
>
V3113. Consider inspecting the loop exp…


V3113. Consider inspecting the loop expression. It is possible that different variables are used inside initializer and iterator.

Анализатор обнаружил, что в разделе итератора (iterator section) оператора 'for' производится инкремент или декремент переменной, не являющейся счетчиком.

Рассмотрим пример. Допустим, у нас имеется выражение следующего вида:

for (int i = 0; i != N; ++N)

Вероятно, данный фрагмент кода содержит ошибку и вместо переменной 'N' в выражении инкремента '++N' необходимо использовать переменную 'i'. Корректный вариант кода должен выглядеть так:

for (int i = 0; i != N; ++i)

Рассмотрим следующий пример:

for (int i = N; i >= 0; --N)

Данный фрагмент кода также ошибочен. В выражении декремента '--N' должна быть использована переменная 'i':

for (int i = N; i >= 0; --i)

Данная диагностика классифицируется как: