type Output = Vec3;
fn mul(self, scalar: f32) -> Vec3 {
Vec3 {
x: self.x * scalar,
y: self.y * scalar,
z: self.z * scalar,
}
}
}
Как я понял перегруженные операторы не обладают свойством коммутативности =>
Vec3 * f32 - определено,
f32 * Vec3 - не определено.
Собственно, как сделать так, чтобы перегруженный оператор обладал свойством коммутативности?
Перегрузить в обратную сторону
А тут можно просто перемножить в обратном направлении
Обсуждают сегодня