对于下面的代码片段,Rustc给出了错误cannot index into a value of type Matrix<T>。
在这种情况下,访问矩阵结构中的向量的正确方法是什么?
pub struct Matrix<T>(pub Vec<Vec<T>>);
impl<T> Add for Matrix<T> {
fn add(self, other_matrix: Self) -> Option<Self> {
let mut vector_1 = vec![];
for x in 0..self.len() {
for y in 0..self[x].len() {
let total = self[x][y] + other_matrix[x][y];
vector_1.push(total);
}
// ... //
}
}
}任何建议都将不胜感激!
发布于 2022-09-12 22:11:28
使用identifier.order语法访问元组结构的成员。在您的例子中,它变成了self.0,您的代码片段变成了这样:
for x in 0..self.0.len() {
for y in 0..self.0[x].len() {
let total = self.0[x][y] + other_matrix.0[x][y];
vector_1.push(total);
}
...https://stackoverflow.com/questions/73695641
复制相似问题