无法创建Rust LinkedList

时间:2016-06-13 14:57:07

标签: list rust

为什么这不起作用?我正在尝试创建一个空列表。

use std::collections::LinkedList;

fn main() {

    let mut list = LinkedList::new();

}

1 个答案:

答案 0 :(得分:1)

错误是:

error: unable to infer enough type information about `_`; type annotations or generic parameter binding required [E0282]

let mut list = LinkedList::new();
               ^~~~~~~~~~~~~~~

LinkedList在其包含的元素类型上进行参数化,但此代码中没有任何内容告诉编译器 类型是什么。

在一个更完整的程序中,通常会推断出这种类型,因为你对集合做了一些事情,比如在其中插入一个值:

use std::collections::LinkedList;

fn main() {
    let mut list = LinkedList::new();
    list.push_front("hello");
}

您还可以明确指定类型:

use std::collections::LinkedList;

fn main() {
    let mut list = LinkedList::<bool>::new();
    // OR
    let mut list: LinkedList<bool> = LinkedList::new();
}

虽然类型推断是首选解决方案。