2016-06-13 79 views
-2

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

use std::collections::LinkedList; 

fn main() { 

    let mut list = LinkedList::new(); 

} 
+5

你**真的**应该发布*错误消息*时,你得到时寻求帮助。 – Shepmaster

回答

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(); 
} 

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