Каков правильный синтаксис инициализации динамически распределенного массива в Ada? Я пробовал:Ada Синтаксис для инициализации динамически распределенного массива
type Short_Array is array (Natural range <>) of Short;
Items : access Short_Array;
Items := new Short_Array(1..UpperBound)'(others => 0);
, что приводит к ошибке компилятора - ожидается «двоичный оператор». И это:
type Short_Array is array (Natural range <>) of Short;
Items : access Short_Array;
Items := new Short_Array(1..UpperBound);
Items.all := (others => 0);
, который, кажется, поднимет SEGFAULT на удивление. Не уверен, что там происходит, но хотел получить синтаксис, прежде чем я начну преследовать свой хвост.
Почему вы динамически выделяете массив? –
Ваша вторая версия отлично работает здесь, macOS, GNAT GPL 2015/2016. Какой OS/компилятор вы используете? –
@JimRogers Это часть типа записи, которую я не знаю во время компиляции. –