首页 文章
  • 2 votes
     answers
     views

    无法返回字符串切片的向量:借用的值不够长

    我是Rust的新手,我在借用检查器方面遇到了一些麻烦 . 我不明白为什么这段代码不能编译 . 对不起,如果这接近以前回答的问题,但我似乎无法在我看过的其他问题中找到解决方案 . 我理解与Return local String as a slice (&str)的相似之处,但在这种情况下,它只是一个字符串被返回,并不足以让我用我的代码推理我试图返回一个向量 . 根据我的理解,我试图返回对函数...
  • 15 votes
     answers
     views

    在迭代递归结构时无法获得可变引用:不能一次多次借用可变引用

    我试图迭代地导航递归数据结构,以便在某个位置插入元素 . 根据我的有限理解,这意味着对结构的根进行可变引用,并通过对其跟随者的引用连续替换它: type Link = Option<Box<Node>>; struct Node { next: Link } struct Recursive { root: Link } impl Recursive ...
  • 3 votes
     answers
     views

    我应该何时使用参考而不是转让所有权?

    从the Rust book's chapter on ownership,可以通过转移所有权或使用可变或不可变引用将不可复制的值传递给函数 . 当您转移值的所有权时,它不能再用于原始函数:如果您愿意,必须将其返回 . 传递引用时,您可以借用该值并仍然可以使用它 . 我来自默认值不可变的语言(Haskell,Idris等) . 因此,我可能永远不会考虑使用引用 . 在两个地方拥有相同的 Value...
  • 1 votes
     answers
     views

    Tuple生锈的问题 .

    我正在尝试为字节流实现一个简单的解析器 . 当我想重用我之前声明的变量时,我遇到了麻烦, fn read_data(asn_data: &mut Cursor<&[u8]>) -> Result<(u8, u8, Vec<u8>), Err> { let total_len = asn_data.get_ref().len(); ...
  • 2 votes
     answers
     views

    使用结构上的getter方法的Rust借用问题

    我是Rust的新手,所以我仍然习惯于习惯语言的内存模型 . 因此,当我在结构上构建 getter 方法时,我遇到了错误 cannot move out of borrowed content. . 我无法弄清楚为什么会这样,但它似乎与Enum上的某些特征有关 . enum Gender{ Male, Female, } impl Default for Gender { ...

热门问题