Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 锈蚀:预期寿命参数问题_Rust - Fatal编程技术网

Rust 锈蚀:预期寿命参数问题

Rust 锈蚀:预期寿命参数问题,rust,Rust,我是个新手,正在制作一个简单的程序来练习,它需要2个数字并打印它们之间的数字。这是我的密码 fn main(){ 设a:u32=2; 设b:u32=10; 设a=结果(&a和&b); println!(“{:?}”,a); } fn结果(a:&u32,b:&u32)->[Vec]{ 让mut-vec=vec::new(); 对于a..b中的x{ 矢量推力(a); } vec } 当我运行这个程序时,我得到了这个错误 fn result(a: &u32, b: &u32) -&g

我是个新手,正在制作一个简单的程序来练习,它需要2个数字并打印它们之间的数字。这是我的密码

fn main(){
设a:u32=2;
设b:u32=10;
设a=结果(&a和&b);
println!(“{:?}”,a);
}
fn结果(a:&u32,b:&u32)->[Vec]{
让mut-vec=vec::new();
对于a..b中的x{
矢量推力(a);
}
vec
}
当我运行这个程序时,我得到了这个错误

fn result(a: &u32, b: &u32) -> [Vec<&u32>] {
|                                     ^ expected lifetime parameter
fn结果(a:&u32,b:&u32)->[Vec]{
|^预期寿命参数

借用和生命周期的概念对我来说仍然非常陌生。请帮助我确定我错在哪里。

这里的错误信息非常清楚:

此函数的返回类型包含借用值,但签名没有说明它是从
a
还是
b

提供显式生存期将有助于编译器理解您试图执行的操作:

fn result<'a>(a: &'a u32, b: &'a u32) -> Vec<&'a u32> {
    let mut vec: Vec<&'a u32> = Vec::new();
    for x in *a..*b {
        vec.push(&x);
    }
    vec
}
您可能想要的是完全避免借款:

fn result(a: u32, b: u32) -> Vec<u32> {
    let mut vec = Vec::new();
    for x in a..b {
        vec.push(x);
    }
    vec
}
fn结果(a:u32,b:u32)->Vec{
让mut-vec=vec::new();
对于a..b中的x{
矢量推力(x);
}
vec
}

是另一个非常类似的问题。尽管这个问题已经得到了回答,但我想指出,铁锈书中有一章适合理解这个问题:
fn result(a: u32, b: u32) -> Vec<u32> {
    let mut vec = Vec::new();
    for x in a..b {
        vec.push(x);
    }
    vec
}