私はレコードを持っていて、それに対するいくつかのアクセサ関数が必要でした。
package Some_Package is
type A is tagged record
First_Field : Integer;
Second_Field : Character;
end record;
type B is private;
function Some_A (Some_B : B) return A;
private
type B is tagged record
Some_A : A;
end record;
end Some_Package;
そして、ここにGNATが私に与えるものがあります:
some_package.ads:10:13: operation can be dispatching in only one type
このエラーは、Ada の初心者にとってはやや不可解であり、何が間違っていたのか、どのように正しく行うのかについての説明をいただければ幸いです。