说我有一个类型:
A型;类型XA是访问常数A;A型是 记录 成员:自然:= 1; 邻居:XA; 结束记录;我对访问常量部分感到困惑。如果我 …
这是一个显示它的作用的小例子:
procedure Access_Constant is type XA is access constant Integer; A : aliased Integer; X : XA; begin X := A'Access; X.all := 4; end Access_Constant;
当您尝试编译它时,分配给 X 工作良好 ( X 是一个变量),而赋值给 X.all 被禁止(如 X.all 是一个常数 - 根据定义 XA )。
X
X.all
XA
虽然 XA 声明指向a constant Integer ,即使变量是可以接受的,但你只能处理一个解引用 XA 实体作为 constant Integer ,即使对象是变量。
constant Integer