gpt4 book ai didi

types - 无法取消引用类型 `usize`

转载 作者:行者123 更新时间:2023-11-29 08:01:34 26 4
gpt4 key购买 nike

我有一些代码看起来有点像下面这样:

let incoming: Vec<u8> = Vec::new();

match some_function(|data| {
let temp = &mut incoming;
Ok(*temp.write(data).unwrap())
}) {
Ok(v) => v,
Err(err) => return false,
};

现在我得到的错误如下:

error: type `usize` cannot be dereferenced
--> src/stripe_connection.rs:127:16
|
127 | Ok(*temp.write(data).unwrap())

出于某种原因,我无法理解我做错了什么,因为借用/生命周期对我来说仍然很陌生。

最佳答案

我认为您可能弄错了运算符优先级。

*temp.write(data).unwrap() 等同于 *(temp.write(data).unwrap()),而不是 (*temp).write(data).unwrap().您可以编写后者,但这是不必要的,因为编译器会自动取消引用方法调用主题中的指针(即 x.f(..) 中的 x)。所以你应该在这里完全删除 *

关于types - 无法取消引用类型 `usize`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39819874/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com