E2015 Opérateur non applicable à ce type d'opérande (Delphi)

De RAD Studio
Aller à : navigation, rechercher

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

Ce message d'erreur est donné lorsqu'un opérateur ne peut pas s'appliquer sur les opérandes pour lesquelles il était spécifié, par exemple si un opérateur booléen s'applique à un pointeur.


program Produce;
var
  P : ^Integer;
begin
  if P and P^ > 0 then
    Writeln('P pointe sur un nombre supérieur à 0');
end.

Un programmeur C++ n'était pas clair dans ce programme sur la précédence d'opérateur en Delphi, P n'est pas une expression booléenne et la comparaison doit être mise entre parenthèses.


program Solve;
var
  P : ^Integer;
begin
  if (P <> nil) and (P^ > 0) then
    Writeln('P pointe sur un nombre supérieur à 0');
end.

Si nous comparons explicitement P à nil et utilisons des parenthèses, le compilateur sera satisfait.