Why does the following Rust code give an error?
fn getVecSlice(vec: &Vec, start: i32, len: i32) -> &[f64] {
vec[start..start + len]
The error messages tells you that you can't index into a vector with values of type u32
. Vec
indices have to be of type usize
, so you have to cast your indices to that type like this:
vec[start as usize..(start + len) as usize]
or just change the type of the start
and len
arguments to usize
.
You also need to take a reference to the result:
&vec[start as usize..(start + len) as usize]