Ada 引发的约束_错误:polynom.adb:85索引检查失败

Ada 引发的约束_错误:polynom.adb:85索引检查失败,ada,Ada,我创建了这样一个数组: 类型coef_list是整数的数组(整数范围0..50) 但当我调用此函数时,会显示以下消息: t:=次(r,q)--乘以两个多项式 为什么??我需要一个动态数组?使用Ada.Vectors,但如何使用它?如果有任何简单的例子来指导我,请分享?ThxAda程序(以及类似的功能)需要以下结构: procedure Foo is -- declarations goes here begin -- code goes here end Foo; 在代码中,多项式

我创建了这样一个数组:

类型coef_list是整数的数组(整数范围0..50)

但当我调用此函数时,会显示以下消息:

t:=次(r,q)--乘以两个多项式

为什么??我需要一个动态数组?使用Ada.Vectors,但如何使用它?如果有任何简单的例子来指导我,请分享?Thx

Ada程序(以及类似的功能)需要以下结构:

procedure Foo is
   -- declarations goes here
begin
   -- code goes here
end Foo;
在代码中,
多项式
Main
都缺少
begin
。 您还将声明(
value1:integer:=1;
等)放在
print\u polynoms
中的
begin
之后,这是非法的

代码的其他问题:

  • 您可以重新定义内置类型
    字符串
  • 类型
    zero
    未在任何地方定义
  • 类型
    String\u指针
    未在任何位置定义
  • 这种语法毫无意义:
    类型的多项式是新的整数(p,p1,p2,p3,p4,q,q1,q2)和类型
    Polynom
    从未使用过。为什么要申报
  • 变量
    zero
    未在任何地方定义
  • 为什么这里有一个内部过程
    Main
    ?反正它什么也不做。从来没有人打过电话。最好将
    print_polynoms
    移出
    Main
    ,直接作为
    多项式的内部函数
  • 多项式
    过程不执行任何操作,
    打印多项式
    将永远不会被调用

  • 此外,您粘贴的代码似乎与您试图编译的代码不同。(
    main
    未在第9行声明)

    欢迎使用堆栈溢出!我在评论队列中看到了你的帖子。它可以通过一些小的编辑来改进,以获得正确的代码格式-一旦您阅读了页面,还有一个页面可以帮助您布置帖子,使其尽可能可读,从而获得帮助。在我写作的过程中-帖子是-值得查看修订以查看编辑内容,以供将来参考。通常,当您向我们显示带有行号的错误消息时,请让我们知道行号属于哪一行。你可能可以从你的编辑器或IDE中找到答案,但我们很难通过查看你的帖子来做到这一点,许多海报会留下评论行或空白行,这样行号就不会正确。在帖子中的代码中添加注释,如在正确的行中添加“-line 29”,将非常有帮助。您试图用
    类型字符串“是新的零”
    ?您已将原始问题替换为完全不同的问题,因此现有答案毫无意义。请回滚最后一次编辑,并用新问题提出新问题。您(或我)可以通过单击问题下的“已编辑”链接,向下滚动到上一个编辑,然后单击其正上方的“回滚”链接来回滚编辑。