【发布时间】:2017-01-26 08:01:09
【问题描述】:
对于运算符重载,我一直坚持使用此代码。
use std::ops::Add;
struct Test<T: Add>{
m:T
}
impl<T:Add> Add for Test<T>{
type Output = Test<T>;
fn add(self, rhs: Test<T>) -> Test<T> {
Test { m: (self.m + rhs.m) as T }
}
}
我无法将 (self.m + rhs.m) 转换为 T,因为它是 non-scalar cast。
类型标量可转换为T 有一个特征吗?
【问题讨论】: