我正在尝试创建一个可以通过构建关卡的过程引用的全局地图。
如果可以在规范(.ads)中静态填充此全局映射,那将是理想的。
这是我试图猜测如何进行静态初始化部分的一些破解代码:
package Positive_to_Positive_Type is new Ada.Containers.Formal_Ordered_Maps
(Key_Type => Positive,
Element_Type => Positive);
Positive_to_Positive : Positive_to_Positive_Type.Map :=
((1 => 11),
(2 => 12));
错误如下:
expected private type "Ada.Containers.Formal_Ordered_Maps.Map" from instance at line 1
found a composite type
现在我知道我正在尝试使用类似记录的语法来尝试初始化动态结构,甚至可以使用.ads中的值初始化地图,或者必须始终使用插入等来完成ADB?
谢谢。
答案 0 :(得分:1)
您可以在程序包初始化级别执行此操作。 假设您在包规范“A”中声明了Positive_to_Positive和Positive_to_Positive_Type,那么您的包体可能如下所示:
package body A is
begin
Positive_to_Positive.Insert (1, 11)
Positive_to_Positive.Insert (2, 12)
end A;