Точка с запятой на той же линии приводит к пустому телу 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