tw1408.pp 536 B

12345678910111213141516171819202122232425262728293031323334
  1. {$mode delphi}
  2. program test;
  3. type
  4. booleanVoidFun = function : boolean;
  5. boolean1IntFun = function(i : integer) : boolean;
  6. var
  7. af : array[1..10] of booleanVoidFun;
  8. ag : array[1..10] of boolean1IntFun;
  9. b : boolean;
  10. i : integer;
  11. function alwaysTrue : boolean;
  12. begin
  13. alwaysTrue := true;
  14. end;
  15. function maybeTrue(q : integer) : boolean;
  16. begin
  17. maybeTrue := (q = 0);
  18. end;
  19. begin
  20. for i := 1 to 10 do begin
  21. af[i] := alwaysTrue;
  22. ag[i] := maybeTrue;
  23. end;
  24. b := af[1]; { can be fixed by using b := af[1]() }
  25. b := ag[1](0);
  26. end.