2012-10-01 87 views
3

我定義的AVL樹來,以「 - >」 A - > INT是比較函數ocaml的類型構造函數的參數

type 'a t = Empty of ('a -> 'a -> int) 
    | Node of 'a * 'a t * 'a t * ('a -> 'a -> int) 

我試圖用這個AVL模塊來實現優先級隊列在一個單獨的模塊中。

type 'a t = Queue of (Avl.t * int) 

但是,當我嘗試編譯我得到這個錯誤:

Error: The type constructor Avl.t expects 1 argument(s), 
    but is here applied to 0 argument(s) 

是它說什麼論證有關的,什麼是應該的語法在隊列類型?

回答

4

您的AVL樹通過節點中的類型進行參數化('a)。所以你應該可以說

type 'a t = Queue of ('a Avl.t * int)