我将我的项目从GNAT 7.3.1传递到了GNAT 18.1,而且我对char做作有一个编译错误。
我想影响字符串末尾的度'°‘这个特殊字符,但是编译器返回这个错误:
R : String := "-NNN.N°";
begin
...
R(R'Last) := '°';
return R;
end我得到了这个:
strings are delimited by double quote character
expected type "Standard.Character"
found a string type如果我用字母或数字替换符号°,它就能工作。如果我试图将其转换为R(R'Last) := Standard.Character('°');,编译器也会说同样的话。
有人遇到过同样的问题吗?
发布于 2018-12-02 10:07:06
字符被定义为拉丁文-1,所以当使用标准键盘上不能直接使用的字符时,最好以其他方式引用它们,而不是使用字符文字:
R (R'Last) := Ada.Characters.Latin_1.Degree_Sign;或
R (R'Last) := Character'Val(176); -- Degree symbolhttps://stackoverflow.com/questions/53541972
复制相似问题