回 帖 发 新 帖 刷新版面

主题:[讨论][求助][解惑]类型相容问题求解   回复加分

大家都知道,对于枚举元素都不得双重定义。
大家也知道,对于子界类型存在相容关系。
但是,对于枚举的子界类型,好象不存在这种相容关系。
比如:
type
    color1=(red,white,yellow,black,blue,green);
    color2=(red,yellow,blue);

这种类型定义是子界相容可以成立的,但是却是枚举元素双重定义不能成立的。而且在TP中确实说是重复定义错误。那么,这种子界类型相容到底应该是怎样才能成立呢?
请高手指点。

回复列表 (共2个回复)

沙发

每个元素的编号不得有两次定义
子界关键在于界 即上界和下界
比如 你的定义 color2=(red,yellow,blue)中 
编译器认为 color2=0..2; red=0 yellow=1 blue=2
那么ord(yellow)=?
yellow 重复定义!!

又及 inc(yellow)=black? blue?

板凳

听不懂1楼的阿,哪有ord(yellow)的?我想应该只要type里的类型名不重复就行了,就像windows文件夹命名一样

我来回复

您尚未登录,请登录后再回复。点此登录或注册