Семантична грешка

По време на фазата на семантичен анализ се появява този тип грешка. Тези видове грешки се откриват по време на компилиране.

Повечето от грешките по време на компилиране са грешка в обхвата и декларацията. Например: недекларирани или множество декларирани идентификатори. Несъответстващият тип е друга грешка по време на компилиране.

Семантичната грешка може да възникне при използване на грешна променлива или използване на грешен оператор или извършване на операция в грешен ред.

Някои семантични грешки могат да бъдат:

  • Несъвместими типове операнди
  • Недекларирана променлива
  • Несъвпадение на действителния аргумент с официалния аргумент

Пример 1: Използване на неинициализирана променлива:

 int i; void f (int m) { m=t; }  

В този код t е недеклариран, затова показва семантичната грешка.

Пример 2: Типова несъвместимост:

 int a = 'hello'; // the types String and int are not compatible  

Пример 3: Грешки в изразите:

 String s = '...'; int a = 5 - s; // the - operator does not support arguments of type String