EGL에서 참조 호환성
다음 상황에서 참조
호환성 규칙이 적용됩니다.
- 매개변수에 inOut 수정자가 있습니다.
- 매개변수가 JSF 핸들러의 onConstructionFunction 특성으로 지정된 함수에 있습니다.
- 참조 변수를 지정하거나, 전달하거나, 리턴하는 중입니다("참조 변수" 참조).
EGL의 참조 호환성에 적용되는
규칙은 다음과 같습니다.
- 두 값이 동일한 기본 유형을 참조하는 경우에만 참조 호환 가능합니다. CHAR(7)은 CHAR(8)과 참조 호환 가능하지 않습니다.
- 비구조화 레코드는 소스의 각 필드가 대상의 각 필드와 동일한 유형인 경우에만 다른 비구조화 레코드와 참조 호환 가능합니다.
- 구조화 레코드는 소스 레코드의 길이가 대상보다 길거나 같은 경우에만 다른 구조화 레코드(또는 CHAR 변수)와 참조 호환 가능합니다. 개별 필드의 호환성은 문제가 되지 않습니다.
값 유형 변수를 참조 변수로 지정할 수 있습니다. 이 경우 EGL은 비참조 변수의 값을 메모리의 새 영역에 복사하고 참조 변수가 이 새 영역을 가리키도록 합니다. 두 유형은 지정 호환 가능해야 합니다. 두 유형이 다를 경우 소스 유형이 대상 유형으로 변환됩니다.
참조 변수를 값 유형 변수로 지정할 수 있습니다. 이 경우에는 비참조 변수가 참조 변수가 가리키는 값을 사용합니다. 두 유형은 지정 호환 가능해야 합니다. 두 유형이 다를 경우 소스 유형이 대상 유형으로 변환됩니다.
다음 인수 중
하나를 사용하여 함수를 호출하는 경우에도
값 - 참조 지정이 수행됩니다.
- in 매개변수와 일치하는 참조 유형 인수.
- 참조 매개변수와 일치하는 값 유형 인수.