(我的第一个rust项目-请耐心等待)
我有一个八进制字符串,我想生成一个u16并将其传递给一个函数。函数
fn expand_rkda(val : u16){
println!("RKDA:{}", val);
}我试着
let z = u16::from_str_radix(rval, 8);
match rname.as_str() {
"rkda" => expand_rkda(z),
_ => println!("oops")
}此错误为
17 | "rkda" => expand_rkda(z),
| ^ expected `u16`, found enum `std::result::Result`我去了-啊哈,我知道这个,这和结果类型有关,我记得有一个很好的快速?我可以使用(我读过这本书)
所以我改成了
let z = u16::from_str_radix(rval, 8)?;现在我得到了
14 | | let z = u16::from_str_radix(rval, 8)?;
| | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ cannot use the `?` operator in a function that returns `()`发布于 2020-07-24 05:52:40
正如mcarton所指出的那样。为了使用?在函数中,函数本身必须返回一个结果。而我的main不是这样做的
https://stackoverflow.com/questions/63043363
复制相似问题