小编Wim*_*m V的帖子

如何初始化向量数组?

我想创建一个这样的矢量数组

let v: [Vec<u8>; 10] = [Vec::new(); 10];
Run Code Online (Sandbox Code Playgroud)

但是,编译器给了我这个错误:

错误:core::kinds::Copy该类型没有实现特征collections::vec::Vec<u8>

rust

25
推荐指数
2
解决办法
4117
查看次数

无法推断出关于_的足够类型信息; 需要输入注释或通用参数绑定

trait Bar {
    fn bar(&self);
}
enum Foo<T: Bar> {
    F1,
    F2(T)
}
struct Something;
impl Bar for Something {
    fn bar(&self) {
    }
}
fn main() {
    let a = Foo::F2(Something); //<== this works fine.
    let b = Foo::F1; //<== gives a compilation error.
}
Run Code Online (Sandbox Code Playgroud)

编译错误E0282:无法推断出足够的类型信息_; 需要输入注释或通用参数绑定.

我理解为什么编译器抱怨,但似乎无法弄清楚如何做到这一点,而不必在F1情况下为T分配类型.

rust

4
推荐指数
1
解决办法
643
查看次数

将二维固定大小数组转换为切片

对于一维数组,可以从固定大小的数组转换为切片,但是对于二维数组来说,这是否可以以一种简单的方式实现?

fn foo(r: &[&[usize]]) { }
let r = [[0usize; 10]; 10];
foo(&r); //<== error expected type `&[&[usize]]` found type `&[[usize; 10]; 10]`
Run Code Online (Sandbox Code Playgroud)

rust

0
推荐指数
1
解决办法
1347
查看次数

标签 统计

rust ×3