如何在delphi中排除用作数组索引的枚举类型的第一个元素?

时间:2017-11-14 16:12:08

标签: delphi

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

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; 

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

  

E2010不兼容的类型:' Int64'和' TEnum'

怎么做?

1 个答案:

答案 0 :(得分:14)

显而易见的是:

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

如果你想避免实际的枚举名称,你可以这样写:

TBValues: array [Succ(low(TEnum))..High(TEnum)] of boolean;

了解更多信息: