MISRA C++:2008 Rule 6-5-1

Цикл for должен содержать один счетчик цикла, который не должен иметь типа с плавающей точкой

Описание

Управляйте определением

Цикл for должен содержать один счетчик цикла, который не должен иметь типа с плавающей точкой.

Реализация Polyspace

Средство проверки отмечает эти ситуации:

  • for индекс цикла имеет тип с плавающей точкой.

  • Больше чем один счетчик цикла постепенно увеличивается в for оператор шага цикла.

    Например:

    for(i=0, j=0; i<10 && j < 10;i++, j++) {}

  • Счетчик цикла не постепенно увеличивается в for оператор шага цикла.

    Например:

    for(i=0; i<10;) {}

    Даже если вы постепенно увеличиваете счетчик цикла в теле цикла, средство проверки все еще повышает нарушение. Согласно спецификациям MISRA® C ++, счетчик цикла является тем, который инициализируется в или до выражения цикла, действует как операнд к оператору отношения в выражении цикла и изменяется в выражении цикла. Если инкрементный оператор в выражении цикла отсутствует, средство проверки не может найти модификацию счетчика цикла и рассматривает, как будто счетчик цикла не присутствует.

Обменивайтесь сообщениями в отчете

Цикл for должен содержать один счетчик цикла, который не должен иметь типа с плавающей точкой.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Проверяйте информацию

Группа: операторы
Категория: необходимый

Введенный в R2013b