E2015: Operator ist auf diesen Operandentyp nicht anwendbar (Delphi)
Aus RAD Studio (Deutsch)
Nach oben zu Fehler- und Warnungsmeldungen (Delphi) - Index
Diese Fehlermeldung wird ausgegeben, wenn ein Operator nicht auf die Operanden angewandt werden kann, denen er übergeben wurde – beispielsweise wenn ein Boolescher Operator auf einen Zeiger angewandt wird.
program Produce;
var
P: ^Integer;
begin
if P and P^ > 0 then
Writeln('P points to a number greater 0');
end.
Hier war sich ein C++ Programmierer über die Operatorpriorität in Delphi nicht im klaren; P ist kein Boolescher Ausdruck, und der Vergleich muss in runde Klammern gesetzt werden.
program Solve;
var
P: ^Integer;
begin
if (P <> nil) and (P^ ;> 0) then
Writeln('P points to a number greater 0');
end.
Wenn wir P explizit mit nil vergleichen und runde Klammern verwenden, ist der Compiler rundum zufrieden.