【发布时间】:2021-04-24 07:43:27
【问题描述】:
假设我有这样的功能:
fn foo(item: &FooType) -> Box<FooType>{
Box::new(item)
}
我收到以下错误:
类型不匹配:预期枚举
FooType,发现&FooType
我假设我需要做一些参考/拳击和终身魔术,但作为一个 rust 初学者,我不能 100% 确定如何让它工作。
【问题讨论】:
-
这通常是不可能的,除非
FooType是可克隆的。原因很简单:Box<FooType>拥有FooType,但&FooType不拥有。
标签: pointers rust reference smart-pointers lifetime