我想拍一张bool
来自Vec<bool>
并在 if 语句中进行比较。如何解决以下错误?
|
7 | if cell {
| ^^^^ expected bool, found &bool
|
= note: expected type `bool`
found type `&bool`
if cell.clone()
对我有用,但似乎有点 hackisch。
最佳答案
take a
bool
from aVec<bool>
就这样做:
let foo = vec![true];
if foo[0] { /* ... */ }
bool
工具 Copy
,因此索引数组会将值复制出来。
如果您引用了向量中的 boolean 值,则需要取消引用它:
let foo = vec![true];
if let Some(val) = foo.last() {
if *val { /* ... */ }
}
或者
let foo = vec![true];
if let Some(&val) = foo.last() {
if val { /* ... */ }
}
关于boolean - 预期类型 `bool` ,发现类型 `&bool`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44788026/