我正在学习Ada语言中的应用程序定义类型,它似乎与C编程语言中的typedef
相似。但是,如果我在C中使用typedef
为预定义类型创建了一个新名称,则仍然可以执行以下操作:
typedef int my_int;
int a = 5;
my_int b = a; -- No problem
但如果我在 Ada 上尝试这样做:
type my_int is new Integer;
a : Integer := 5;
b : my_int := a; -- Causes some error
那么我的问题是,在C语言中,
my_int
只是类型int
的别名或新名称,而不是新类型;而在Ada语言中,my_int
是完全不同的数据类型,而不仅仅是类型Integer
的新名称。
subtype my_int is Integer;
。 - Zerte