我想知道将包传递给泛型函数的语法是什么。我已经尝试了几种方法但没有成功。
代表:
generic
with package <<SomeThing>> is <>;
procedure forEach(g: in <<MyType>>);
OR
generic
with package <<SomeThing>>;
procedure forEach(g: in <<MyType>>);
OR
generic
package <<SomeThing>>;
procedure forEach(g: in <<MyType>>);
答案 0 :(得分:6)
包必须是通用包的实例(否则编译器不会对包有任何了解)。语法是:
generic
with package Foo is new Bar (<>);
procedure Foreach (G : Foo.T);
请参阅正式包(Ada Wikibook)上参考手册部分末尾的ARM 12.7和示例。