在过程中使用包规范
Use a package spec inside a procedure
我想在过程中使用包规范。
缺少一些东西,但我不知道是什么。
using_ads_package.adb:14:11: "var" is not visible
using_ads_package.adb:14:11: non-visible declaration at line 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 ;
在不编译的情况下,我建议使用以下行:
get_line(var);
应该是:
get_line(variable.var);
在
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);
我想在过程中使用包规范。
缺少一些东西,但我不知道是什么。
using_ads_package.adb:14:11: "var" is not visible
using_ads_package.adb:14:11: non-visible declaration at line 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 ;
在不编译的情况下,我建议使用以下行:
get_line(var);
应该是:
get_line(variable.var);
在
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);