我有一个SCGI
类型的结构,它有一个属性Netstring
,它本身就是另一个结构:
struct SCGI<'a> {
content_length:uint,
scgi:bool,
request_method:RequestMethod,
request_uri:&'a str,
body:&'a str,
original:Netstring
}
impl<'a> SCGI<'a> {
…
}
如果这是C ++,我希望Netstring
成为新对象,而不是对另一个对象的引用。但是,如果我尝试构建我的代码,我总是会收到以下错误:
错误:生命周期参数错误:预期为1,找到0
为original
添加生命周期无效:original:&'a Netstring
会导致同样的错误。
我在这里缺少什么?
答案 0 :(得分:1)
我没有完整的示例,但我认为您的语法错误(请在类型后检查<'a>
)。
此代码为我编译:
struct Netstring<'a> {
a: &'a str
}
struct SCGI<'a>{
content_length: uint,
scgi: bool,
body: &'a str,
original: Netstring<'a>
}
希望它有所帮助。