我爱生锈,我想掌握它,但我遇到了困难。
当然是它的生命周期。我仍然很难理解它。我在这里给你看一些代码。在那里你可以看到一个包含借来的数组的结构。
为该画布创建CTOR时,我无法以正确的方式声明生命周期'a
。
struct Canvas<'a>{
width: i32,
height: i32,
array: &'a Vec<char>
}
impl <'a>Canvas<'a>{
fn new(width: i32, height: i32) -> Canvas<'a>{
Canvas {
width: width,
height: height,
array: &vec!['x'; (width*height) as usize]
}
}
错误说:
引用必须对于生命周期'a有效,如9:49中的块所定义
我理解这里的问题 - 但找不到任何正确的例子。我几乎把'a
放在每个可能的位置上:D
有人提到我不应该将数组作为引用放入我的结构中 - 它应该怎么样?