如何明确指定字符文字

时间:2016-07-14 03:41:55

标签: ada

由于我一直在努力完成“与Ada 95的交会”,我遇到了一个看似普通的Ada83 / Ada95不兼容问题:行中可怕的ambiguous character literal错误:

Put ( Disk < Screen and 'P' < 'B' );

我是Ada的新手,但不是强类型语言,我理解这个问题:没有办法确定文字的类型是Character还是Wide_Character,而且模糊性导致编译时错误。

我的问题是,如何更改上述语句以指定具有给定类型的字符文字(例如。CharacterWide_Character)?我已经阅读过类似的问题(What caused this Ada compilation error "ambiguous character literal"?),除了RTFM之外,他们没有提供任何指导。其他引用(https://gcc.gnu.org/onlinedocs/gnat_rm/Legal-Ada-83-programs-that-are-illegal-in-Ada-95.html)显示字符范围的变通方法,但不显示单个文字的变通方法。

在另一种语言中,我希望将文字转换为给定的类型,但我对Ada的印象是,不鼓励围绕类型检查(应该?)。我知道我可以明确地将文字定义为给定类型的常量,但这似乎无法在代码体中允许文字。

我认为这在Ada83代码现代化时是一个非常普遍的问题;内联模糊字符文字的最佳做法是什么?

1 个答案:

答案 0 :(得分:4)

使用qualified expression明确标识类型:

.delivered {
    background: url("../images/icons/ic_done_all_white_48dp_2x.png") no-repeat;
}
相关问题