我想创建这样的数组:
let arr = [0; length];
长度是a usize
.但是我得到了这个错误
E0307
The length of an array is part of its type. For this reason, this length
must be a compile-time constant.
是否可以创建动态长度的数组?我想要一个数组,而不是一个数组Vec
.
是否可以创建动态长度的数组?
根据定义,数组具有在编译时定义的长度.变量(因为它可以变化)在编译时是未知的.编译器不知道在堆栈上分配多少空间来为阵列提供存储空间.
你需要使用Vec
:
let arr = vec![0; length];