На етапі семантичного аналізу з’являється помилка такого типу. Ці типи помилок виявляються під час компіляції.
Більшість помилок під час компіляції - це помилка обсягу та оголошення. Наприклад: неоголошені або кілька оголошених ідентифікаторів. Невідповідність типу — ще одна помилка під час компіляції.
Семантична помилка може виникнути через використання неправильної змінної або використання неправильного оператора або виконання операції в неправильному порядку.
Деякі семантичні помилки можуть бути:
- Несумісні типи операндів
- Неоголошена змінна
- Невідповідність фактичного аргументу формальному аргументу
приклад 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