在Rust中如何将任意大小的数组作为泛型类型?[duplicate]

hrirmatl  于 2023-01-26  发布在  其他
关注(0)|答案(1)|浏览(101)
    • 此问题在此处已有答案**:

Is it possible to control the size of an array using the type parameter of a generic?(2个答案)
昨天关门了。
我想有一个泛型结构体,其中有一个MyType数组。它可以是任何大小,但不能改变,这就是为什么我想使用泛型。
我是这样试的:

pub struct MyStruct<[MyType, COUNT]> {
    data: [MyType, COUNT],
}

我得到语法错误expected COMMA,没有任何有用的指导,从编译器。

35g0bw71

35g0bw711#

正确的语法为

pub struct MyStruct<MyType, const COUNT: usize> {
    data: [MyType; COUNT],
}

参数COUNT需要注解为常量。类型参数两边没有方括号。数组类型中类型和计数之间的分隔符是分号,而不是逗号。

相关问题