Nie można przekazać literału jako argumentu funkcji?

0
program Cojest;

procedure bla(var s: ansistring);
begin
  writeln(s);
end;

begin
  bla('yada');
end.

wyrzuca

Free Pascal Compiler version 2.6.2-5 [2013/07/25] for x86_64
Copyright (c) 1993-2012 by Florian Klaempfl and others
Target OS: Linux for x86-64
Compiling cojest.pas
cojest.pas(10,13) Error: Variable identifier expected
cojest.pas(13) Fatal: There were 1 errors compiling module, stopping
Fatal: Compilation aborted
Error: /usr/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)

Jak przekazać literał jako paramtetr?

0

Znalazłem błąd, nieistotne. Po prostu nie można przekazywać przez referencję.

1

Tak, to było przyczyną wyrzucenia błędu przez kompilator, co zresztą błąd opisuje:

cojest.pas(10,13) Error: Variable identifier expected

Jeżeli chcesz przekazać do procedury lub funkcji łańcuch przez referencję (także pustą), to łańcuch ten powinien być zawarty w zmiennej, w polu rekordu lub polu klasy; Jeśli koniecznie chcesz podawać literał - skorzystaj z przekazywania przez stałą lub przez wartość;

Zaglądnij od czasu do czasu do jakiegoś kursu, bo to już drugi wątek w którym pytasz o podstawy programowania w Delphi; Dzięki temu zaoszczędzisz sobie czasu na oczekiwanie na odpowiedzi, które możesz znaleźć w odpowiednich materiałach edukacyjnych.

1 użytkowników online, w tym zalogowanych: 0, gości: 1