当聚合只包含一个元素时,如下所示,位置表示法会导致编译错误,我们只能使用命名表示法.为什么?
type singleton is record
v : integer;
end record;
v1 : singleton := (0);
Run Code Online (Sandbox Code Playgroud)
导致编译器消息
check.adb:6:23: positional aggregate cannot have one component
check.adb:6:23: write instead "V => ..."
gnatmake: “check.adb" compilation error
Run Code Online (Sandbox Code Playgroud)
这没关系:
v2 : singleton := (v => 0);
Run Code Online (Sandbox Code Playgroud)