生活困惑

时间:2014-09-17 22:14:55

标签: rust

我有一个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会导致同样的错误。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:1)

我没有完整的示例,但我认为您的语法错误(请在类型后检查<'a>)。

此代码为我编译:

struct Netstring<'a> {
  a: &'a str
}

struct SCGI<'a>{
  content_length: uint,
  scgi: bool,
  body: &'a str,
  original: Netstring<'a>
}

希望它有所帮助。