Ich nähern mich der Ada-Sprache. Ich schrieb dieses einfaches Programm, das über ein Array-Loops und erhöht jeden einzelnen Wert, aber der Compiler gibt mir einen Fehler des Typs:Weisen Sie die Werte für ein Array in Ada
hello.adb:8:07: left hand side of assignment must be a variable
Das Programm in Frage lautet:
with Ada.Text_IO;
procedure hello is
type myArrayDefinition is array (1 .. 10) of integer;
myArray : constant myArrayDefinition := (1 => 3, others => 2);
begin
for A in 1 .. 10 loop
myArray(A) := myArray(A) + 1;
end loop;
end hello;
Könnte jemand helfen ich, um das Problem zu verstehen?
Die Fehlermeldung sagt Ihnen genau, was los ist. 'myArray' ist keine Variable, es ist eine Konstante. –
Nur für den Fall, dass Sie Erfahrung mit einer anderen Sprache haben: Ein Array-Objekt in Ada ist keine Referenz, es ist ein echtes Objekt. Wie erwähnt, ist Ihre Konstante, und dann ist sie als Ganzes konstant. Das gilt auch für andere Objekte. – B98