我想在程序中使用包规范。
缺少一些东西,但我不知道是什么。
using_ads_package.adb:14:11:" var"不可见
using_ads_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 ;
答案 0 :(得分:5)
在
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);
答案 1 :(得分:1)
没有编译,我建议行:
get_line(var);
应该是:
get_line(variable.var);