Ada 编译错误-a-textio.ads上的声明不可见
我是Ada的新手,不幸的是我遇到了一个问题。这是我的密码:Ada 编译错误-a-textio.ads上的声明不可见,ada,Ada,我是Ada的新手,不幸的是我遇到了一个问题。这是我的密码: with Ada.Text_Io; with Ada.Integer_Text_Io; --use Ada.Text_Io; --use Ada.Integer_Text_Io; procedure life is type Plansza is array (Integer range <>, Integer range <>) of Integer; File : Ada.Text_IO.File_Ty
with Ada.Text_Io;
with Ada.Integer_Text_Io;
--use Ada.Text_Io;
--use Ada.Integer_Text_Io;
procedure life is
type Plansza is array (Integer range <>, Integer range <>) of Integer;
File : Ada.Text_IO.File_Type;
tab : Plansza(1..4,1..4);
Filename : String := "plansza.txt";
begin
Ada.Text_IO.Open (File => File, Mode => Ada.Text_IO.In_File, Name => Filename);
for x in 1..4 loop
for y in 1..4 loop
Ada.Text_IO.Get ( File => File, Item => Plansza(x,y) );
end loop;
end loop;
for x in 1..4 loop
for y in 1..4 loop
Ada.Text_IO.Put (Item => Plansza(x,y));
end loop;
New_Line;
end loop;
end life;
带有Ada.Text\u Io;
使用Ada.Integer_utext_uuio;
--使用Ada.Text\u Io;
--使用Ada.Integer\u Text\u Io;
程序寿命是
类型Plansza是整数的数组(整数范围,整数范围);
文件:Ada.Text\u IO.File\u类型;
选项卡:Plansza(1..4,1..4);
文件名:字符串:=“plansza.txt”;
开始
Ada.Text_IO.Open(文件=>File,模式=>Ada.Text_IO.In_文件,名称=>Filename);
对于1..4循环中的x
对于1..4循环中的y
Ada.Text_IO.Get(File=>File,Item=>Plansza(x,y));
端环;
端环;
对于1..4循环中的x
对于1..4循环中的y
Ada.Text_IO.Put(Item=>Plansza(x,y));
端环;
新线;
端环;
结束生命;
这就是我得到的:
life.adb:14:17:“设置输出”不可见
life.adb:14:17:a-textio上的不可见声明。ads:114
寿命。adb:18:44:没有候选解释与实际相符:
life.adb:18:73:类型转换的参数必须是单个表达式
生活。亚洲开发银行:18:73:==>在a-textio呼叫“获取”。广告:239
生活。亚洲开发银行:18:73:==>在a-textio呼叫“获取”。广告:205
寿命。adb:23:44:没有候选解释与实际相符:
life.adb:23:44:a-textio声明的对“put”的调用中缺少参数“File”的参数。ads:241
life.adb:23:44:a-textio声明的“put”调用中缺少参数“File”的参数。ads:207
life.adb:23:58:类型转换的参数必须是单个表达式
生活。adb:23:58:==>在a-textio呼叫“放置”。广告:242
生活。adb:23:58:==>在a-textio呼叫“放置”。广告:208
生活。亚洲开发银行:25:25:“新线”不可见
life.adb:25:25:a-textio上的不可见声明。ads:166
life.adb:25:25:a-textio上的不可见声明。ads:165
gnatmake:“life.adb”编译错误
我不知道这些错误是从哪里来的,尤其是这些关于参数的“a-textio.ads上的不可见声明”。看起来您发布的文件不是您正在编译的文件(没有Set\u输出调用,因此您只能自己处理该文件) 然而 Get和Put被不同的版本重载,没有一个版本与您要求的版本匹配 要获取和放置整数,需要从
Ada.Integer\u Text\u Io
获取和放置整数,而不是Ada.Text\u Io
。这两个函数都有With
子句,但随后显式调用了Text\u IO
子句,它不能对整数进行运算
您正在从文件中获取ting并将ting放入控制台;如果这是你想要的,没关系
要使“New\u Line”可见,请取消对Use子句的注释,或者更好地明确说明您需要的新行,例如Ada.Text\u IO.New\u Line
。(缺少)Set_输出错误可能与此类似。一旦您看到模式,这些都很容易解决。看起来您发布的文件不是您正在编译的文件(没有Set\u输出调用,因此您可以自己处理该文件)
然而
Get和Put被不同的版本重载,没有一个版本与您要求的版本匹配
要获取和放置整数,需要从Ada.Integer\u Text\u Io
获取和放置整数,而不是Ada.Text\u Io
。这两个函数都有With
子句,但随后显式调用了Text\u IO
子句,它不能对整数进行运算
您正在从文件中获取ting并将ting放入控制台;如果这是你想要的,没关系
要使“New\u Line”可见,请取消对Use子句的注释,或者更好地明确说明您需要的新行,例如Ada.Text\u IO.New\u Line
。(缺少)Set_输出错误可能与此类似。一旦你看到模式,这些都很容易解决。你指的是Plansza(x,y)
Plansza
是一种类型,而不是变量。您可能需要tab(x,y)
。您可以参考Plansza(x,y)
Plansza
是一种类型,而不是变量。您可能需要选项卡(x,y)
。