我在定义区定义了
procedure AlarmRecord(var AlarmGroup:Integer);
包括也写了该过程的程序
在调用这个过程的时候是不是不能用常量写参数?
就象这样
AlarmRecord(1);这样说类型不匹配
如果写成
i:=1;
AlarmRecord(i);这样就通过了!
这个是什么原因呢?
难道就不能用常量作为参数嘛?
procedure AlarmRecord(var AlarmGroup:Integer);
包括也写了该过程的程序
在调用这个过程的时候是不是不能用常量写参数?
就象这样
AlarmRecord(1);这样说类型不匹配
如果写成
i:=1;
AlarmRecord(i);这样就通过了!
这个是什么原因呢?
难道就不能用常量作为参数嘛?
你传进去的是变量参数呀,当然不能用常量。把前面的var去掉就可以了。
i: Integer = 10;procedure P1(var P: Integer);
begin
P := 20; //全局变量i的值也变为20
......
end;procedure P1(const P: Integer);
begin
P := 20; //此句会出错,Const定义的参数不允许被修改
......
end;procedure P1(var P: Integer);
begin
P := 20; //全局变量i的值还是10,
........
end;