【发布时间】:2016-04-14 14:25:18
【问题描述】:
我有这个错误
错误:二元运算
|不能应用于类型&mut u16
使用此代码,
fn f_op(op: &mut u16) {
let mut addr: u16 = (op | 0xFFF);
..//
}
解决它把&mut改成&
fn f_op(op: & u16) {
但我想知道为什么我不能将| 与&mut 一起使用,当然有充分的理由,但有人可以向我解释。
【问题讨论】:
-
由于大多数原语(包括 u16)都 impl Copy,所以只按值获取它们更惯用,因为它们会被复制,afaict
标签: rust