首页 > 解决方案 > 在 Ada 中定义一个包含元素和多重性对的包 Multiset

问题描述

我必须满足一个规范,它说我必须编写一个包类型,它是一个带判别式的记录,这是记录中包的最大容量我必须放置一个包含元素和多重性对的数组,我已经写过一些代码并更新了它

type TArray is array (Integer range <>) of Elem,Multi;
type Bag (Max : Positive) is record
                                Data    : TArray (1 .. Max);
                                Pointer : Natural := 0;
                             end record;

代码已更新,请检查并提出建议

标签: adatype-declaration

解决方案


答案很简单:如果你在编译阶段没有任何错误信息,那没关系。

好吧,根据您的描述,您的代码看起来不错。我有一个问题。

你打算在你的类型 TArray 上有负索引吗?如果不是,为什么不使用与判别器相同的类型?

唯一的问题是,使用 Positive 而不是 Integer,您将只有一半的值,但在您的记录中,无论如何您已经从 1 开始,因此具有与 Positive 相同的范围。


推荐阅读