의미 분석 단계에서 이러한 유형의 오류가 나타납니다. 이러한 유형의 오류는 컴파일 타임에 감지됩니다.
대부분의 컴파일 시간 오류는 범위 및 선언 오류입니다. 예를 들어: 선언되지 않은 식별자 또는 여러 개의 선언된 식별자. 유형 불일치는 또 다른 컴파일 시간 오류입니다.
잘못된 변수를 사용하거나 잘못된 연산자를 사용하거나 잘못된 순서로 작업을 수행하면 의미 오류가 발생할 수 있습니다.
일부 의미 오류는 다음과 같습니다.
- 호환되지 않는 피연산자 유형
- 선언되지 않은 변수
- 실제 주장과 형식적 주장이 일치하지 않음
예시 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