E2025 Prozedur kann keinen Ergebnistyp besitzen (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Sie haben eine Prozedur deklariert, ihr aber einen Ergebnistyp gegeben. Entweder wollten Sie eigentlich eine Funktion deklarieren, oder Sie sollten den Ergebnistyp löschen.


program Produce;

procedure DotProduct(const A,B: array of Double): Double;
var
  I: Integer;
begin
  Result := 0.0;
  for I := 0 to High(A) do
    Result := Result + A[I]*B[I];
end;

const
  C: array [1..3] of Double = (1,2,3);

begin
  Writeln( DotProduct(C,C) );
end.

Hier sollte DotProduct eigentlich eine Funktion sein. Es wurde nur aus Versehen das falsche Schlüsselwort angegeben.


program Solve;

function DotProduct(const A,B: array of Double): Double;
var
  I: Integer;
begin
  Result := 0.0;
  for I := 0 to High(A) do
    Result := Result + A[I]*B[I];
end;

const
  C: array [1..3] of Double = (1,2,3);

begin
  Writeln( DotProduct(C,C) );
end.

Achten Sie einfach darauf, einen Ergebnistyp festzulegen, wenn Sie eine Funktion deklarieren, und keinen Ergebnistyp, wenn Sie eine Prozedur deklarieren.