Почему компилятор не ловит такие ошибки?

 

if( ...);

Случайно ошмёток от старого года(;) остался не удалённым, целый час искал причину неработоспособности. Условие if() из-за этого не работало.

 
khorosh:

if( ...);

Случайно ошмёток от старого года(;) остался не удалённым, целый час искал причину неработоспособности. Условие if() из-за этого не работало.

Тело условия может быть пустым. Да, смысла в этом нет, но тем не менее, синтаксис верен.

 
khorosh:

if( ...);

Случайно ошмёток от старого года(;) остался не удалённым, целый час искал причину неработоспособности. Условие if() из-за этого не работало.

выдает предупреждение empty controlled statement found     в MQL5то же

     Если написать if()   - ошибка 'if' - expression expected

 
Konstantin Erin:

выдает предупреждение empty controlled statement found     в MQL5то же

     Если написать if()   - ошибка 'if' - expression expected

Действительно. А я что-то не обратил на это предупреждение. Спасибо, теперь буду знать.