该错误信息表示在继承中不能使用联合体中的判别式。解决方法是在子类型中重新定义判别式,并在派生类型中使用。下面是一个代码示例:
type Parent is tagged record
Discr : Integer := 0;
end record;
type Child is new Parent with null record;
type Grandchild(D : Integer) is new Child with
record
Discr : Integer := D;
end record;
在上面的代码中,Grandchild类型重新定义了Parent的Discr判别式,并在派生类型中使用。