2017-04-16 1 views
2

私は、eltTypesの配列を持つフィールドを含むクラスを持っています。これは、次のようになります。Chapel eltTypeメソッド

type eltType; 
var size = 5; 
var elementsDomain: domain(1) = {0..size-1}; 
var elements: [elementsDomain] eltType; 

を後で、私はこのような(クラスの内部ではまだ)これを利用する方法があります:

proc add(eltType el){ 
    elements[0] = el; 
} 

が、私はそれが構文を持っていると言い、コンパイラのエラーを取得しますメソッドの署名の追加時にエラーが発生しました。私はeltTypesがJavaのジェネリック型のように機能していると思った。どのようにeltTypesを間違ってやっているのですか?どうしたらうまくいくのですか?

答えて

3

あなたは次の形式でエルの型を宣言する必要があります:

proc add(el : eltType) { 

チャペル(実り再帰関数を除く)の種類を考え出すの良い仕事をしていませんので、あなたはタイプを残せば、それはまた、動作するはずです外出して言う:

proc add(el) { 
関連する問題