菜鸟有关问题Not enough actual parameters如何解决

初学者问题Not enough actual parameters怎么解决?
Function Num(S1, S2:integer):integer;
var
S11, S12, S21, S22, S31, S32:integer;
begin
  S11 := S1 and $FFFFFF;
  S12 := (S1 and $7F000000) div $1000000;
  If S1 < 0 Then S12 := S12 Or $80;
  S21 := S2 and $FFFFFF;
  S22 := (S2 and $7F000000) div $1000000;
  If S2 < 0 Then S22 := S22 or $80;
  S32 := S12 + S22;
  S31 := S11 + S21;
  If (S31 and $1000000)=1 Then S32 := S32 + 1;
  Num := (S31 And $FFFFFF) + (S32 and $7F) * $1000000;
  If (S32 And $80)=1 Then Num := Num Or $80000000; //提示出错:not enough actual parameters
end;

------解决方案--------------------
Delphi(Pascal) code
Function Num(S1, S2:integer):integer;
var
S11, S12, S21, S22, S31, S32, p:integer;
begin
  S11 := S1 and $FFFFFF;
  S12 := (S1 and $7F000000) div $1000000;
  If S1 < 0 Then S12 := S12 Or $80;
  S21 := S2 and $FFFFFF;
  S22 := (S2 and $7F000000) div $1000000;
  If S2 < 0 Then S22 := S22 or $80;
  S32 := S12 + S22;
  S31 := S11 + S21;
  If (S31 and $1000000)=1 Then S32 := S32 + 1;
  p := (S31 And $FFFFFF) + (S32 and $7F) * $1000000;
  If (S32 And $80)=1 Then p := p Or $80000000; //提示出错:not enough actual parameters
  Result := p;
end;