我试图构建一个包含对另一个结构的向量的引用的结构,如下所示:
pub struct Downstream<'a> {
frequency: i32,
slot: i32,
connector: i32,
description: String,
cablemac: &'a CableMac,
}
pub struct Upstream<'a> {
downstreams: Vec<Downstream>,
}
无论我尝试什么,我总会得到这一生的错误:
src/e6000/mod.rs:13:22: 13:32 error: wrong number of lifetime parameters: expected 1, found 0 [E0107]
src/e6000/mod.rs:13 downstreams: Vec<Downstream>,
E0107根本没有帮助。
我在哪里以及如何使用'a
来实现这项工作?
答案 0 :(得分:3)
downstreams: Vec<Downstream>,
应该是
downstreams: Vec<Downstream<'a>>,
E0107根本没有帮助。
您应该运行rustc --explain E0107
。
该命令的输出目前以一些很好的例子开始:
此错误表示生命周期参数的数量不正确 提供类型(如结构或枚举)或特征。
一些基本的例子包括:
struct Foo<'a>(&'a str); enum Bar { A, B, C } struct Baz<'a> { foo: Foo, // error: expected 1, found 0 bar: Bar<'a>, // error: expected 0, found 1 }