-1
私は所有システムを理解しようとしています。 ::
に機能、可変借用
error: expected `::`, found `=`
--> src/main.rs:8:16
|
8 | let i: <i32> = test(&mut vec);
| ^
error: type `()` cannot be dereferenced
--> src/main.rs:2:5
|
2 | *v1.push(10);
| ^^^^^^^^^^^^
が=
を変更する:私はこれらの2つのエラーを取得し
fn test(v1: &mut Vec<i32>) -> i32 {
*v1.push(10);
v1[3]
}
fn main() {
let mut vec: Vec<i32> = vec![10, 20, 30];
let i: <i32> = test(&mut vec);
}
:それをテストするために、私はVec
を借り機能を作りたかった、それに値を追加し、その値を返します。助けにならないと私はなぜそれがどうなるか理解していない。
回答ありがとうございます。それは今働く。私は参照の内容にアクセスするために*が必要であると思った。 –
最初に間接参照する必要はありませんが、ブラケットを使用するだけで '(* v1).push(10)'と '*(v1.push(10))ではなく'として解析されます。これはCと同じ演算子の優先順位です。 – trentcl