Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.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
Arrays 如何在Rust中为数组长度引入类型参数?_Arrays_Generics_Rust - Fatal编程技术网

Arrays 如何在Rust中为数组长度引入类型参数?

Arrays 如何在Rust中为数组长度引入类型参数?,arrays,generics,rust,Arrays,Generics,Rust,我有一个关于Rust中的泛型的小问题。我想让数组的长度成为一个类型参数 问题:Rust目前是否支持这一点? 错误消息并不表示缺少功能,而是表示编程错误 我想做的示例: fn create_array<C: ConstSize>(){ let arr = [64; C::SIZE]; println!("array.len: {:?}", arr.len()); } pub trait ConstSize { const SIZE: usize; } 感谢

我有一个关于Rust中的泛型的小问题。我想让数组的长度成为一个类型参数

问题:Rust目前是否支持这一点? 错误消息并不表示缺少功能,而是表示编程错误

我想做的示例:

fn create_array<C: ConstSize>(){
    let arr = [64; C::SIZE];
    println!("array.len: {:?}", arr.len());
}

pub trait ConstSize {
    const SIZE: usize;
}


感谢您的关注。

由于编译器错误(),相关常量无法用于指定数组的长度。

它看起来像编译器错误。这回答了我的问题。你可以把它写进一个单独的答案中。区别是相当微妙的:链接的问题问一般如何解决这个问题,答案是Rust的未来特征,但这个问题中的具体解决方案现在应该实际可行(但这是一个bug)
fn main() {
    create_array::<Five>();
}

struct Five {}
impl ConstSize for Five {
    const SIZE: usize = 5;
}
fn create_array(){
    let arr = [64; Five::SIZE];
    println!("array.len: {:?}", arr.len());
}