我有一个在堆栈上分配向量的函数.此代码不起作用:
fn my_func(n: i32) {
let mut v = Vec::with_capacity(n);
}
Run Code Online (Sandbox Code Playgroud)
编译器说n需要成为一个usize.我认为从类型安全的角度来看,这是有道理的,但我需要n在其他需要i32调用的计算中使用.处理这个问题的正确方法是什么?
投给USIZE.
let n: i32 = 4;
let v = Vec::<i16>::with_capacity(n as usize);
Run Code Online (Sandbox Code Playgroud)