【发布时间】:2015-07-04 23:02:16
【问题描述】:
我开始学习 Rust,并尝试实现一个函数来反转字符串向量。我找到了一个解决方案,但我不明白它为什么有效。
这行得通:
fn reverse_strings(strings:Vec<&str>) -> Vec<&str> {
let actual: Vec<_> = strings.iter().cloned().rev().collect();
return actual;
}
但事实并非如此。
fn reverse_strings(strings:Vec<&str>) -> Vec<&str> {
let actual: Vec<_> = strings.iter().rev().collect(); // without clone
return actual;
}
错误信息
src/main.rs:28:10: 28:16 error: mismatched types:
expected `collections::vec::Vec<&str>`,
found `collections::vec::Vec<&&str>`
(expected str,
found &-ptr) [E0308]
谁能给我解释一下为什么?第二个函数会发生什么?谢谢!
【问题讨论】:
标签: rust