我想在过程中使用包规范。
缺少了一些东西,但我不知道是什么。
using_ads_package.adb:14:11:"var";不可见
using_ad_package.adb:14:11:第8行的不可见声明
with Ada.Strings.Unbounded; use Ada.Strings.Unbounded;
with Ada.Text_IO.Unbounded_IO; use Ada.Text_IO.Unbounded_IO;
Procedure using_ads_package is
Package variable is
var : Unbounded_String ;
end variable ;
Begin
get_line(var);
End using_ads_package ;
在中
procedure Using_Ads_Package is
package Variable is
Var : Unbounded_String;
end Variable;
begin
您已经在package Variable
中创建了一个新作用域。在Variable
之外,Var
不直接可见。
在Variable
之外,有两种方式可以引用Var
。
首先,您可以命名明确声明的包:
Get_Line (Variable.Var);
或者,您可以use
Variable
:
package Variable is
Var : Unbounded_String;
end Variable;
use Variable;
begin
Get_Line (Var);
如果不进行编译,我建议行:
get_line(var);
应该是:
get_line(variable.var);