mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-12 18:10:29 +02:00
33 lines
464 B
ObjectPascal
33 lines
464 B
ObjectPascal
program tfuncref55;
|
|
|
|
{$mode objfpc}
|
|
{$modeswitch functionreferences}
|
|
|
|
procedure Test;
|
|
var
|
|
a: Char;
|
|
|
|
function DoTest(aArg: LongInt): String;
|
|
begin
|
|
if aArg > 0 then
|
|
Result := DoTest(aArg - 1) + a
|
|
else
|
|
Result := a;
|
|
end;
|
|
|
|
var
|
|
func: reference to function(aArg: LongInt): String;
|
|
begin
|
|
a := 'a';
|
|
func := @DoTest;
|
|
if func(4) <> 'aaaaa' then
|
|
Halt(1);
|
|
a := 'b';
|
|
if func(6) <> 'bbbbbbb' then
|
|
Halt(2);
|
|
end;
|
|
|
|
begin
|
|
Test;
|
|
end.
|