我想排除此枚举类型的第一个值
type
TEnum = (val0, val1, val2, val3, val4);
Run Code Online (Sandbox Code Playgroud)
为了制作这个数组
TBValues: array [low(TEnum)..High(TEnum)] of boolean;
Run Code Online (Sandbox Code Playgroud)
仅包含最后的n-1个值(在本例中为n = 5).
我试过这个:
TBValues: array [low(TEnum)+1..High(TEnum)] of boolean;
Run Code Online (Sandbox Code Playgroud)
但我想在这种情况下不允许进行算术运算,因为我收到了这个编译错误
E2010不兼容类型:'Int64'和'TEnum'
这该怎么做?
Uwe*_*abe 15
显而易见的是:
TBValues: array [val1..val4] of boolean;
Run Code Online (Sandbox Code Playgroud)
如果要避免实际的枚举名称,可以这样写:
TBValues: array [Succ(low(TEnum))..High(TEnum)] of boolean;
Run Code Online (Sandbox Code Playgroud)
欲获得更多信息:
归档时间: |
|
查看次数: |
237 次 |
最近记录: |