집계에 하나의 요소 만 포함 된 경우 아래와 같이 위치 지정 표기법으로 인해 컴파일 오류가 발생하며 명명 된 표기법 만 사용해야합니다. 왜? 컴파일러 메시지이 반면한 요소 레코드 집계에 명명 된 연결이 필요한 이유는 무엇입니까?
check.adb:6:23: positional aggregate cannot have one component
check.adb:6:23: write instead "V => ..."
gnatmake: “check.adb" compilation error
에
type singleton is record
v : integer;
end record;
v1 : singleton := (0);
결과는 OK이다 : 식 둥근
v2 : singleton := (v => 0);
를 사용할 수 있습니다. 이것을 집계 만 될 수있는 (0,0)과 대조하십시오. 이로 인해보다 복잡한 집계, 다중 배열 또는 레코드 배열에서 모호함이 발생할 수 있습니다. –
@BrianDrummond 야, 대답 해, 우리는 그것을 upvote거야! :-) –