Цикл for должен содержать один счетчик цикла, который не должен иметь типа с плавающей точкой.
Цикл for должен содержать один счетчик цикла, который не должен иметь типа с плавающей точкой.
Средство проверки отмечает эти ситуации:
for
индекс цикла имеет тип с плавающей точкой.
Больше чем один счетчик цикла постепенно увеличивается в for
оператор шага цикла.
Например:
for(i=0, j=0; i<10 && j < 10;i++, j++) {}
for
оператор шага цикла отсутствует.
Например:
for(i=0; i<10;) {}
Даже если вы постепенно увеличиваете счетчик цикла в теле цикла, средство проверки все еще повышает нарушение. Правило основано на правиле 6-5-1 MISRA® C ++. Согласно спецификациям C++ MISRA, счетчик цикла является тем, который инициализируется в или до выражения цикла, действует как операнд к оператору отношения в выражении цикла и изменяется в выражении цикла. Если инкрементный оператор в выражении цикла отсутствует, средство проверки не может найти модификацию счетчика цикла и рассматривает, как будто счетчик цикла не присутствует.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: операторы |