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) - Index

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.