E2016 Array-Typ erforderlich (Object Pascal)

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Object Pascal) - Index

Diese Fehlermeldung wird angezeigt, wenn Sie versuchen, einen Index in einen Operanden zu setzen, der kein Array ist, oder wenn Sie an einen offenen Array-Parameter ein Argument übergeben, das kein Array ist.


program Produce;
var
  P: ^Integer;
  I: Integer;
begin
  Writeln(P[I]);
end.

Wir versuchen, einen Index auf einen Zeiger auf integer anzuwenden – in C wäre dies zulässig, aber nicht in Object Pascal.


program Solve;
type
  TIntArray = array [0..MaxInt DIV sizeof(Integer)-1] of Integer;
var
  P: ^TIntArray;
  I: Integer;
begin
  Writeln(P^[I]);   (*Auch P[I] wäre korrrekt*)
end.

In Object Pascal muss dem Compiler mitgeteilt werden, dass P auf ein Array von ganzen Zahlen zeigen soll.