【发布时间】:2014-05-28 20:12:07
【问题描述】:
fn increment(number: &mut int) {
// this fails with: binary operation `+` cannot be applied to type `&mut int`
//let foo = number + number;
let foo = number.add(number);
println!("{}", foo);
}
fn main() {
let mut test = 5;
increment(&mut test);
println!("{}", test);
}
为什么number + number 失败但number.add(number) 有效?
作为一个额外的问题:上面打印出来
10
5
我是否正确地假设 test 仍然是 5,因为数据被 复制 以增加?原始的test 变量可以被increment 函数改变的唯一方法是如果它被发送为Box<int>,对吧?
【问题讨论】:
标签: rust