T { return -6ren">
gpt4 book ai didi

generics - 在 Rust 中使用 traits 的通用函数

转载 作者:行者123 更新时间:2023-11-29 08:25:40 25 4
gpt4 key购买 nike

use std::num::Int;

fn main() {
println!("{}", add_one(4));
}

fn add_one<T: Int>(x: T) -> T {
return x + 1
}

我试图让 add_one 成为 Int 的泛型,但是当我编译它时它说类型不匹配

错误信息:

src/main.rs:8:16: 8:17 error: mismatched types:
expected `T`,
found `_`
(expected type parameter,
found integral variable) [E0308]
src/main.rs:8 return x + 1
^

最佳答案

我仔细研究了 std::num::Int 并找到了 Int::one()。

目前有效:

use std::num::Int;

fn main() {
println!("{}", add_one(4));
}

fn add_one<T: Int>(x: T) -> T {
return x + Int::one();
}

关于generics - 在 Rust 中使用 traits 的通用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com