【发布时间】:2016-05-22 08:36:15
【问题描述】:
我基本上有一个函数可以创建一些需要在堆上分配的对象。我想要做的是从该函数返回一个包含对该堆分配值的引用的结构。
struct Cont<'a> {
pub v: &'a i32
}
impl<'a> Cont<'a> {
fn new(v: &'a i32) -> Cont {
Cont {
v: v
}
}
}
fn f<'a>() -> Cont<'a> {
let v = Box::new(6);
Cont::new(&v)
}
fn main() {
let c = f();
println!("{}", c.v);
}
我收到error: 'v' does not live long enough。
您可以找到示例here。
【问题讨论】:
标签: rust heap-memory