2015-10-28 80 views
2

我想知道將包傳遞給泛型函數的語法是什麼。我嘗試了幾種方法,但沒有成功。如何在Ada中提供一個包作爲通用參數?

爲前:

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>>); 

回答

6

包必須是一個通用的軟件包的一個實例(否則編譯器將不知道任何有關包)。語法是:

generic 
    with package Foo is new Bar (<>); 
procedure Foreach (G : Foo.T); 

Ada Wikibook和例子在正式包(ARM 12.7)的參考手冊節結束。

相關問題