color_type类型是对一个变量取值范围的限定,而花括号内是它的取值范围,即color_type 类型
的变量color 只能取值为花括号内的任何一个值,如果赋给该类型变量的值不在列表中,则会报错。
我看了一下你提供的教学视频,他是在ubuntu系统下编译的,linux的编译器肯定有所不同。据我所知,变量值超出范围在microsoft的编译器这边都会报错。
上面所说的强制转换:一个原本不是color_type类型的变量被你硬生生转换成该类型,没有实际意义。字符a被你转换成color_type类型,当然可以赋值啦。
貌似是需要强制类型转换
color=(color_type)'a';
结果为97
Type
cmd=(Stop,Start);
var
cmdtype: cmd;
begin
cmdtype := Stop;
end;
if constA in cmd then...
我觉得应该是这样吧?