ベクトルにマップする関数を書いた。メソッドの定義は、3つの汎用パラメータを期待し、入力ベクトルと機能の上に定義されています。予想される型パラメータ、見つかったと期待されるA
pub fn map<F, A, B>(mapFn: F, vect: &[A]) -> &[B]
where
F: Fn(A) -> B,
{
let mut list = vec![];
for v in vect {
let mut value = mapFn(v);
list.push(value);
}
&list[..]
}
私はこのエラーを取得する:
error[E0308]: mismatched types
--> src/main.rs:8:31
|
8 | let mut value = mapFn(v); // <------ This is where I get the error
| ^expected type parameter, found &A
|
= note: expected type `A`
found type `&A`
は、私はまた、Generics Error: expected type parameter, found structをチェックし、ほぼ同じように見えるしませんでした問題。
私はあなたの機能の関心を見ることができません。このメソッドは既に存在します。 – Boiethios