我在尝试初始化阵列访问时遇到了一些麻烦。 我的通用包规范中有以下内容:
generic
type Item_Type is private;
with function "+"(Left: Item_Type; Right: Item_Type) return Item_Type;
package Parallel_Algorithms is
type Array_Type is array(Natural range <>) of Item_Type;
type Array_Access_Type is access all Array_Type;
...
end Parallel_Algorithms;
其中Item_Type
应该是我的通用包的类型。我现在想在另一个过程中实例化Array_Access_Type,因为我需要将它传递给包中指定的函数。该包以下列方式实例化:
package Natural_Parallel is new Parallel_Algorithms(Item_Type => Natural,
"+" => "+");
我找到了一些论坛帖子,答案基本上就是这样:
Arr_Acc: Array_Access_Type := new Array_Type;
然而,我收到以下错误,我不太明白:
uninitialized unconstrained allocation not allowed
qualified expression or constraint with array bounds required
使用数组内部的某些值来实例化访问类型以供以后使用的正确方法是什么?