Анализатор обнаружил потенциально возможную ошибку, связанную с тем, что в операторе 'for' совпадают начальное и конечное значения счетчика. Такое использование оператора 'for' приведет к тому, что цикл не будет выполнен ни разу или выполнен только один раз.
Рассмотрим пример:
void BeginAndEndForCheck(int beginLine, int endLine)
{
for (int i = beginLine; i < beginLine; i++)
{
...
}
Тело цикла никогда не выполняется. Скорее всего, произошла опечатка и следует заменить "i < beginLine" на корректное выражение "i < endLine". Корректный вариант кода:
for (int i = beginLine; i < endLine; i++)
{
...
}
Другой пример:
for (int i = A; i <= A; i++)
...
Тело этого цикла будет выполнено только один раз. Скорее всего, это не то, что задумывал программист.
Данная диагностика классифицируется как:
Взгляните на примеры ошибок, обнаруженных с помощью диагностики V3028. |