标签: rust
我有一个在堆栈上分配向量的函数。这段代码不起作用:
fn my_func(n: i32) { let mut v = Vec::with_capacity(n); }
编译器说n需要是usize。我认为从类型安全的角度来看这是有道理的,但我需要在其他需要n的计算中使用i32。处理这个问题的正确方法是什么?
n
usize
i32
答案 0 :(得分:6)
Cast要使用。
let n: i32 = 4; let v = Vec::<i16>::with_capacity(n as usize);