在Ada中,动态分配的数组中的数组无法在编译时进行初始化,只能在运行时进行初始化。例如:
type Sub_Array is array(Integer range <>) of Integer;
type Main_Array is array(Integer range <>) of Sub_Array;
--错误示例
A : Main_Array := ((1,2),(3,4));
--正确示例
A : Main_Array;
begin
A(1) := Sub_Array'(1,2);
A(2) := Sub_Array'(3,4);
end;
上面的示例展示了如何对动态分配的数组进行初始化。需要先声明一个空数组,然后在运行时使用赋值语句对其进行初始化。