の外に移動することはできません:私は、次を得るしかしは、構造体の中にVecとを反復 - 私は<code>Vec</code>を反復処理しようとし<code>Vec</code>が含まれている構造体の機能を書いています借りコンテンツ
struct Object {
pub v: Vec<f32>,
}
impl Object {
pub fn sum(&self) -> f32 {
let mut sum = 0.0;
for e in self.v {
sum += e
}
sum
}
}
をエラー:
error: cannot move out of borrowed content [E0507]
for e in self.v {
^~~~
help: run `rustc --explain E0507` to see a detailed explanation
私の理解では、self
以来借りていることにあるループ反復のためe
にv
アウトの要素を移動しようとしていること?
エラーコードから、潜在的な解決策は所有権を取得することだと私は読んだが、私はそれをどうやって行うかについてはあまり確信していない。
私はベクトルまたはその要素を変更しようとしていません。私はちょうどいくつかの計算を実行するために要素を使いたいです。
同じエラーメッセージで** [他の質問は**]を見ましたか?(http://stackoverflow.com/search?q=%5Brust%5D+cannot+move + out + of + borrowed + content +は%3Aqです)? – Shepmaster