Точка с запятой на той же линии приводит к пустому телу if
, for
или while
оператор
Этот дефект возникает, когда точка с запятой в той же линии, что и последняя лексема if
, for
или while
оператор приводит к пустому телу.
Проверка делает исключение для случая, когда if
оператор немедленно сопровождается else
оператор:
if(condition); else { ... }
Точка с запятой, следующая за оператором if, for или while, часто указывает на ошибку программирования. Ложная точка с запятой изменяет поток выполнения и приводит к непреднамеренным результатам.
Если вам нужно пустое тело для if
, for
или while
оператор, оберните точку с запятой в блок и поместите блок в новую линию, чтобы явным образом указать ваш намерение:
if(condition) {;}
Группа: Хорошая практика |
Язык: C | C++ |
По умолчанию: Off |
Синтаксис командной строки
: SEMICOLON_CTRL_STMT_SAME_LINE |
Влияние: Низкое |
Find defects (-checkers)
| Incorrectly indented statement
| Macro terminated with a semicolon
| Macro with multiple statements