fn main() {
let v = &[1,2,3];
println!("{:?}",v.get(0));
// error: doesn't have a size known at compile-time
// println!("{:?}",v[1..]);
// 加了&就可以了,我看别人这么用,我不知道为什么,请教下各位,感谢。
println!("{:?}",&v[1..]);
/* 自己研究了一下,很多东西我理解错了,
v是数组的引用(Sized),
v[1..]类型:[i32](unsized),
&v[1..]类型:&[i32]也就是i32切片,(sized, fat pointer),
然后又发现更多需要学习的了,rust太难啦。
*/
}
1
共 1 条评论, 1 页
评论区
写评论编译器说的很清楚呀 「 error: doesn't have a size known at compile-time」
因为 slice 是 dynamically-sized view
所以要加个引用