如何解决为什么在对 Vec<u32> 求和时需要指定和的类型?
在行:
let mut bins: Vec<u32> = vec![0; 1000];
let total = bins.iter().sum();
错误:
error[E0282]: type annotations needed
--> src/lib.rs:191:7
|
191 | let total = bins.iter().sum();
| ^^^^^ consider giving `total` a type
我可与修复:
let total: u32 = bins.iter().sum();
或:
let total = bins.iter().sum::<u32>();
类型 u32
出现在 Vec 的声明中。为什么 rustc 不能推断 sum 的类型与元素的类型相同?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。