私はこのようなADAにおけるマトリクス型定義:入力行列にいくつかの変換を適用するためにADA無効インデックス制約
type Matrix_Type is array(Natural range <>, Natural range <>) of Item_Type;
を、Iは、関数の行列スライスを定義する必要があります。 A'Length
を置くことはA'Length /2
がするように番号を返すために、invalid index constraint
私はかなり理解していない:
procedure Do_Stuff(M: Matrix_Type) is
-- c needs to be half as big as the input matrix M
C: Matrix_Type(A'Length/2, A'Length/2);
begin
...
end Do_Stuff;
しかし、それを次のように実行して、コンパイルがエラーで失敗することを試みました。そのような固定番号を使ってCを宣言すれば、
C: Matrix_Type(2,2);
すべてがうまくいきます。
この場合のエラーは、関数に初期化されていない行列を渡しても、それは私には分かりません。
あなたは 'Cと言います:Matrix(2、2); 'うまく動作しますが、ここにはありません!まったく同じエラー。 –