[Error] Main.pas(1042): Left side cannot be assigned to如何解决?

rbws 2003-02-23 05:14:37
procedure Form1.f(var t) //t是T的一个对象
begin
t.p := a; //p是T的一个属性,a是Form1的一个成员变量,类型
             //一致,但在这里出现了如题的错误,为何?
end;
...全文
73 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
sunware 2003-02-23
  • 打赏
  • 举报
回复
这个t.a是只读的,不能被赋值.
rbws 2003-02-23
  • 打赏
  • 举报
回复
To kiss2:

不会吧,都搞成局部变量了,当然不会有编译错误
那就没用了
kiss2 2003-02-23
  • 打赏
  • 举报
回复
必须这样:
procedure Form1.f;
var t:T
begin
new(t);
t.p := a;            
end;
rbws 2003-02-23
  • 打赏
  • 举报
回复
不好意思,f(var t: T)当然是有的了,当然为了简单没写
ly_liuyang 2003-02-23
  • 打赏
  • 举报
回复
procedure Form1.f(var t) ?
这就有问题了,var t是无类型变量!
必须是var t:MyRecord等的表达或TMyObject的
outer2000 2003-02-23
  • 打赏
  • 举报
回复
var t
outer2000 2003-02-23
  • 打赏
  • 举报
回复
类型//一致???

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧