我有下面这段代码,我试图返回一个带有字段
这怎么能够实现呢?还有其他替代方案吗?
values
默认值的结构体 Foo
。这些值可能会在以后更改。但编译器报错:error: `initial` does not live long enough
这怎么能够实现呢?还有其他替代方案吗?
struct Foo <'a> {
values: &'a mut Vec<i32>,
}
impl <'a> Foo <'a> {
fn new() -> Foo <'a> {
let initial = vec![1, 2];
Foo { values: &mut initial }
}
}
let my_foo = Foo::new();
my_foo.values.push(3);