【发布时间】:2014-03-01 20:53:08
【问题描述】:
我有这个 Ada 程序:
with Ada.Text_IO, Ada.Integer_Text_IO;
use Ada.Text_IO, Ada.Integer_Text_IO;
procedure test is
type MY_TYPE is new Integer range 1..20;
subtype MY_TYPE2 is MY_TYPE range 5..6;
c : MY_TYPE:=10;
f : MY_TYPE2 :=6;
begin
put(Integer(c'SIZE));
end test;
当我运行它时,我得到 32。如果我替换
type MY_TYPE is new Integer range 1..20;
与
type MY_TYPE is range 1..20;
我得到 8。这两个声明有什么区别?
【问题讨论】: