集合中是否允许使用负整数?

问题描述 投票:1回答:1

我知道集合在FPC中的元素不能超过255个,但是,允许使用负整数吗?

我偶然发现了这一点,还没有在线找到与之相关的任何东西。

PROGRAM test;
TYPE rg = -10..0;
    negatives = set of rg;

我收到此编译错误。

test.pas(3,25) Error: illegal type declaration of set elements

[我怀疑此错误来自负整数,因为例如,如果我将范围定义为0..5,则可以编译。

pascal freepascal
1个回答
1
投票

Delphi documentation,通常是FP镜像:

集合类型的范围是特定序数类型的幂集,称为基本类型;也就是说,集合类型的可能值是基本类型的所有子集,包括空集合。基本类型不能超过256个可能的值,并且它们的序数必须在0到255之间。

FreePascal docs说的是同一件事(不太清楚,而且难于找到):

SetType的每个元素都必须是TargetType类型。 TargetType可以是介于0到255之间的任何序数类型。

© www.soinside.com 2019 - 2024. All rights reserved.