E2015 Opérateur non applicable à ce type d'opérande (Delphi)
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.