我想排除此枚举类型的第一个值

type
  TEnum = (val0, val1, val2, val3, val4);

为了使这个数组
TBValues: array [low(TEnum)..High(TEnum)] of boolean;

仅包含最后的n-1个值(在这种情况下,n = 5)。

我尝试了这个:
TBValues: array [low(TEnum)+1..High(TEnum)] of boolean;

但我想在这种情况下不允许进行算术运算,因为我遇到了此编译器错误



这该怎么做?

最佳答案

显而易见的是:

TBValues: array [val1..val4] of boolean;

如果要避免使用实际的枚举名称,则可以这样编写:
TBValues: array [Succ(low(TEnum))..High(TEnum)] of boolean;

想要查询更多的信息:
  • Succ
  • Pred
  • 10-08 05:18