E2192 Konstanten dürfen nicht als Argumente für offene Arrays verwendet werden (Delphi)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Fehler- und Warnungsmeldungen (Delphi)

Argumente für offene Array sind als Array-Variable, konstruiertes Array oder als einzelne Variable vom Elementtyp des Arguments zu übergeben..


program Produce;

  procedure TakesArray(s : array of String);
  begin
  end;


begin TakesArray('Hello Error');
end.

Der Fehler in diesem Beispiel wird ausgelöst, weil ein Stringliteral anstelle des erwarteten Arrays angegeben wurde. Ein Array kann nicht implizit aus einer Konstanten konstruiert werden.


program Solve;

  procedure TakesArray(s : array of String);
  begin
  end;


begin TakesArray(['Hello Error']);
end.

Mit der Lösung tritt kein Fehler auf, weil das Array explizit konstruiert wird.