【发布时间】:2014-06-23 11:34:57
【问题描述】:
编者注:此代码示例来自 Rust 1.0 之前的版本,不是有效的 Rust 1.0 代码。此代码的更新版本会产生不同的错误,但答案仍然包含有价值的信息。
我不明白为什么下面的代码不起作用。
use std::string::String;
use std::str;
fn append_byte_to_string(string: &String, bytes: &[u8]) {
let msg = str::from_utf8(bytes);
match msg {
Some(msg_str) => {
string.append("plop");//msg_str);
},
None => {}
}
}
fn main() {
append_byte_to_string(&String::new(), [64,65]);
}
我遇到以下错误:
test.rs:8:4: 8:10 error: cannot move out of dereference of `&`-pointer
test.rs:8 string.append("plop");//msg_str);
^~~~~~
error: aborting due to previous error
我见过explanations,但我不明白它如何适用于我的代码。
【问题讨论】:
标签: rust