如何排除delphi中用作数组索引的枚举类型的第一个元素?
我想排除此枚举类型的第一个值如何排除delphi中用作数组索引的枚举类型的第一个元素?,delphi,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
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”
如何做到这一点?显而易见的是:
TBValues: array [val1..val4] of boolean;
如果要避免使用实际的枚举名称,可以这样编写:
TBValues: array [Succ(low(TEnum))..High(TEnum)] of boolean;
有关更多信息: