代码之家  ›  专栏  ›  技术社区  ›  Matías Santurio

集合中允许使用负整数吗?

  •  1
  • Matías Santurio  · 技术社区  · 6 年前

    我知道集合在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 例如,它编译得很好。

    1 回复  |  直到 6 年前
        1
  •  2
  •   Ken White    6 年前

    Delphi documentation ,它通常是fp镜像:

    集合类型的范围是特定序数类型的幂集,称为基类型;即,集合类型的可能值是基类型的所有子集,包括空集合。基类型的可能值不能超过256个,其序号必须介于0和255之间。

    这个 FreePascal docs 说同样的话(不是很清楚,而且更难找到):

    setType的每个元素都必须是targetType类型。targetType可以是范围在0到255之间的任何序号类型。

    推荐文章