私はそれに任意の型を持つ配列に取り、配列の最後の要素を返す関数を書きたいので、私が試した:`&T`を` T`に変換するにはどうしたらいいですか?
fn main() {
let v = ["a", "b"];
println!("{}", last(&v));
}
fn last<T: Clone>(slice: &[T]) -> &T {
&slice[slice.len()-1]
}
、それが動作しているようですが、私は適用されたときに小さな調整:
fn main() {
let v = ["a", "b"];
println!("{}", last(&v));
}
fn last<T: Clone>(slice: &[T]) -> T {
&slice[slice.len()-1]
}
は、それから私はと会ったよ:
error[E0308]: mismatched types
--> <anon>:9:5
|
9 | &slice[n-1]
| ^^^^^^^^^^^ expected type parameter, found &T
|
= note: expected type `T`
found type `&T`
私はちょうどT
に&T
を変換する方法を教えてください。
場合によっては、スライスの[メソッド 'last'](https://doc.rust-lang.org/stable/std/primitive.slice.html#method.last)があります。 – red75prime