Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/rust/4.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 返回带引用的结构的Vec时生命周期参数的数目错误_Rust - Fatal编程技术网

Rust 返回带引用的结构的Vec时生命周期参数的数目错误

Rust 返回带引用的结构的Vec时生命周期参数的数目错误,rust,Rust,我有一个包含引用的结构: pub struct ScheduledItem<'a> { pub item: &'a item::Item, pub timeshift: i32 } pub-struct-ScheduledItem{ 但我得到的是一个错误: src/scheduled_item.rs:25:74: 25:87 error: wrong number of lifetime parameters: expected 1, found 0 [E

我有一个包含引用的结构:

pub struct ScheduledItem<'a> {
    pub item: &'a item::Item,
    pub timeshift: i32
}
pub-struct-ScheduledItem{
但我得到的是一个错误:

src/scheduled_item.rs:25:74: 25:87 error: wrong number of lifetime parameters: expected 1, found 0 [E0107]
src/scheduled_item.rs:25 pub fn items_with_times<'a>(items: &Vec<ScheduledItem>) -> Vec<(u32, &'a ScheduledItem)> {
                                                                                                  ^~~~~~~~~~~~~
src/scheduled_item.rs:25:74:25:87错误:生命周期参数数量错误:应为1,找到0[E0107]
src/scheduled\u item.rs:25个pub fn items\u和\u时间{
^~~~~~~~~~~~~

&a
还不够吗?这里怎么了?

您的结构有一个通用的生存期参数。在Rust中,您需要指定所有通用参数(例如,您不能返回一个
Vec
,只能返回一个
Vec
),因此您的返回类型应该是
Vec]
,因为
&Vec
&t]
没有好处

&a
还不够吗

&'a T
指定它是对a
T
的生命周期
'a
的引用,这意味着它指向的对象不比
'a
的生命周期长


T
type的寿命不超过
'a
。这反过来意味着该类型的任何对象都不会超过
'a
,并且该对象不能包含对寿命短于
'a

的对象的引用。您可以尝试
和ScheduledItem
src/scheduled_item.rs:25:74: 25:87 error: wrong number of lifetime parameters: expected 1, found 0 [E0107]
src/scheduled_item.rs:25 pub fn items_with_times<'a>(items: &Vec<ScheduledItem>) -> Vec<(u32, &'a ScheduledItem)> {
                                                                                                  ^~~~~~~~~~~~~