&引用;无界的;在Ada中不可见

&引用;无界的;在Ada中不可见,ada,gnat,Ada,Gnat,我只是Ada的初学者 我的代码是这样的 with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; procedure final is Input : Unbounded.String; begin null; end final; 当我用gnatmake编译这段代码时, 编译器给出错误“Unbounded”不可见“,这是什么意思?用于Ada.Strings的use子句。Unbounded使包内的声明直接可见。它不使包名本身可见(Unb

我只是Ada的初学者

我的代码是这样的

with Ada.Strings.Unbounded;
use Ada.Strings.Unbounded;

procedure final is
Input : Unbounded.String;

begin
null;

end final;
当我用gnatmake编译这段代码时,
编译器给出错误
“Unbounded”不可见“
,这是什么意思?

用于
Ada.Strings的
use
子句。Unbounded
使包内的声明直接可见。它不使包名本身可见(
Unbounded
)直接可见,因此任何对名称
无界的
的引用前面没有
都是不正确的

此外,该类型称为
Unbounded_String
,而不是
String

更改此项:

Input : Unbounded.String;
为此:

Input : Unbounded_String;

(请缩进您的代码。)

用于
Ada.Strings的
use
子句。Unbounded
使包内的声明直接可见。它不会使包名本身(
Unbounded
)直接可见,因此任何对名称
无界的
的引用前面没有
都是不正确的

此外,该类型称为
Unbounded_String
,而不是
String

更改此项:

Input : Unbounded.String;
为此:

Input : Unbounded_String;

(请缩进你的代码。)

我想你的意思是
Input:Unbounded_String
@egilhh:你是对的。我认为问题中的代码比实际更正确。(我已经有一段时间没有认真使用Ada了。)我想你的意思是
Input:Unbounded_String
@egilhh:你是对的。我认为问题中的代码比实际更正确。(我已经有一段时间没有认真使用Ada了。)