在过程中使用程序包规范



我想在过程中使用包规范。

缺少了一些东西,但我不知道是什么。

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);

最新更新