深入方法(29)- 传址参数不能赋予常量
{给这个函数可以赋常数变量} function Fun1(x,y: Integer): Integer; begin Result := x + y; end; {这个函数不能赋予常数变量} function Fun2(var x,y: Integer): Integer; begin Result := x + y; end; {测试} procedure TForm1.Button1Click(Sender: TObject); var i,a,b: Integer; const j = 6; k = 8; begin i := Fun1(1,2); ShowMessage(IntToStr(i)); {3} //i := Fun2(1,2); {这样是 Fun2 是错误的, 它的参数是传地址的, 必须用变量} //i := Fun2(j,k); {这样也不行} {应该:} a := 2; b := 4; i := Fun2(a,b); ShowMessage(IntToStr(i)); {6} end;
编程语言无所谓高低级,唯适用罢了。语言结构再天花乱坠,富丽堂皇终不过CPU上的0和1。