E2016 Type Array requis (Delphi)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Messages d'erreur et d'avertissement (Delphi)

Ce message d'erreur est spécifié si vous indicez une opérande qui n'est pas de type array, ou si vous transmettez un argument qui n'est pas un tableau vers un paramètre tableau ouvert.


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

Nous essayons d'appliquer un indice à un pointeur sur un entier, ce qui serait correct en C, mais pas en Delphi.


program Solve;
type
  TIntArray = array [0..MaxInt DIV sizeof(Integer)-1] of Integer;
var
  P : ^TIntArray;
  I: Integer;
begin
  Writeln(P^[I]);   (*En réalité, P[I] serait aussi correct*)
end.

Dans le langage Delphi, nous devons expliquer au compilateur que nous voulons que P pointe sur un tableau d'entiers.