Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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 正如“U切片生产”;“活得不够”;错误_Rust - Fatal编程技术网

Rust 正如“U切片生产”;“活得不够”;错误

Rust 正如“U切片生产”;“活得不够”;错误,rust,Rust,我有以下功能: fn i_to_str(&self, i: int) -> &'a str { return i.to_string().as_slice(); } 此代码正在生成错误:由于as_切片的生存期,借来的值的生存时间不够长。有人知道是否有一些解决方法可以实现这一点吗?您不能从此函数返回切片,因为由i.to_String()返回的字符串将在退出函数时被释放/丢弃,而切片将引用一个释放的字符串。你应该返回一个String(在本例中直

我有以下功能:

    fn i_to_str(&self, i: int) -> &'a str {
        return i.to_string().as_slice();
    }

此代码正在生成
错误:由于as_切片的生存期,借来的值的生存时间不够长。有人知道是否有一些解决方法可以实现这一点吗?

您不能从此函数返回切片,因为由
i.to_String()
返回的
字符串将在退出函数时被释放/丢弃,而切片将引用一个释放的字符串。你应该返回一个
String
(在本例中直接返回
i.to_String()
),或者如果方法是由特征定义的,并且一些实现可以合理地返回一个片段,则返回一个字符串。

我的一篇博客文章解释了这类事情的全部内容: