【发布时间】:2016-08-19 13:09:01
【问题描述】:
如果我想声明一个只有正数的 Integer 类型,我需要做的就是:
subtype Positive is Integer range 0..Integer'Last;
我想我可以应用相同的逻辑来声明这样的否定类型:
subtype Negative is Integer range Integer'First..1;
然而,在编译时我得到了这个错误:
attribute "First" may not be used in a subtype mark
为什么会出现此错误,如何声明仅否定的子类型?
【问题讨论】:
-
您的
Negative子类型包括两个非负值。 -
不应该
Integer'First给我Integer类型的最小值吗? -
是的,但您的子类型包括值
0和1。如果你只想要负值,你需要Integer'First .. -1。