#[derive(Debug)]
struct Point3<T> {
x: T,
y: T
}
trait MyTrait<U> {
fn show_mytrait_msg(&self, x: U);
}
impl<T, U> MyTrait<U> for Point3<T> {
fn show_mytrait_msg(&self, xx: U) {
println!("I am in Point3.show_mytrait_msg().");
}
}
//let p5 = Point3::<i32>{ x: 0, y: 1 };
let p5 = Point3{ x: 0i32, y: 1i32 };
//p5.show_mytrait_msg();
发现不知道怎么调用 show_mytrait_msg 方法了,网上搜一把,这种类型的泛型特征相关的资料也不多,一般出现的都是类型有泛型,或者特征有泛型,但是类型和特征同时有泛型,太容易把自己绕在类型定义和方法调用上了。 求指点,或者提供一些参考资料,感谢~
1
共 3 条评论, 1 页
评论区
写评论Rust中的泛型参数,如果没有指定bound或where clause时,代表可以接收任何类型。
可以参考<C++&Rust:泛型与特化> https://mp.weixin.qq.com/s?__biz=MzIxMTM0MjM4Mg==&mid=2247484047&idx=1&sn=3102dd81ceba3927f33c42a7a8db3343
好吧,我蠢,哭。。。。突然短路不知道怎么弄了。
--
👇
Grobycn:
p5.show_mytrait_msg(1i64);
这样不就行了吗p5.show_mytrait_msg(1i64);
这样不就行了吗