RosettaCodeData/Task/Generic-swap/Pascal/generic-swap-1.pascal

29 lines
376 B
Text
Raw Permalink Normal View History

2013-04-10 22:43:41 -07:00
program generictest;
{$mode objfpc}
type
generic TSwap<T> = procedure (var a, b: T);
procedure Proc1(var a, b: integer);
var
temp: integer;
begin
temp := a;
a := b;
b := temp;
end;
var
S, T: integer;
SwapInt: specialize TSwap<integer>;
begin
S := 4;
T := 3;
SwapInt := @Proc1;
writeln(S, T:2);
SwapInt(S, T);
writeln(S, T:2);
end.