可以'参数中没有固定大小的数组吗?fn a<T、 N>(arr:&[T;N])

  • 本文关键字:amp fn arr 参数 数组 可以 rust
  • 更新时间 :
  • 英文 :


在下面的代码中:

fn a<T,N>(arr: & [T; N]) {

}

为什么我要

error[E0423]: expected value, found type parameter `N`
--> src/lib.rs:1:22
|
1 | fn a<T,N>(arr: & [T; N]) {
|                      ^ not a value

https://play.rust-lang.org/?version=stable&mode=调试&edition=2021&gist=8023f8d13b34369ec04538883630617ba

我知道我可以只期望&[T],但我想如果我期望固定大小,那么它需要更强的打字和无边界检查

错误消息告诉您:您将N声明为类型参数,但数组需要。因此,您需要将N声明为一个值,如const泛型公告中所示。这意味着在它前面加上const关键字,并给它一个类型:

fn a<T, const N: usize>(arr: &[T; N]) {

}

最新更新