У меня есть программа в Ada95, в которой я должен создать массив строк. Этот массив может содержать строки переменной длины.String Arrays в Ada
Пример: Я объявил массив, в котором все индексы могут хранить строки размером 50. Когда я назначаю меньшую строку указанному выше массиву, я получаю «Ошибка Constraint».
Код:
procedure anyname is
input_array : array(1..5) of String(1..50);
begin
input_array(1):="12345";
end anyname;
Я попытался создать массив Unbounded_Strings. Но это тоже не работает. Может ли кто-нибудь сказать мне, как хранить этот «12345» в вышеупомянутом массиве строк?
Решение заключается в использовании 'Unbounded_String'. Пожалуйста, покажите код, в котором вы пытались создать массив 'Unbounded_String'. Тип 'String' не допускает строк переменной длины. – ajb
Для Unbounded_String я использовал следующий код: input_array: = массив (1..5) Unbounded_String; Затем я получил следующее сообщение об ошибке:. «Ожидается частный типа„Ada.Strings.Unbounded.Unbounded_String“ Затем я попытался изменить код на: input_array: массив (1..5) из Ada.Strings.Unbounded .Unbounded_String; Теперь я не могу назначить значения для input_array (1) –
. Если вы попытались использовать ': =' непосредственно со строковым литералом, см. Мой ответ. В целом, пожалуйста, будьте более конкретными, какие проблемы вы используете Сказать, что такие вещи, как «Я не могу этого сделать» или «это не работает», недостаточно хороши для StackOverflow, потому что мы не читаем читателей. Вместо этого разместите код, который вы попробовали, и сообщение об ошибке, которое вы получили. – ajb