我的矩阵类遇到了问题,我找不到解决方案。
Matrix = ROWSxCOLUMNS
Let A be a 3x4 matrix
Let B be a 4x5 matrix
该操作AxB
(仅当 A 的列与 B 的行匹配时才定义)导致 a 3x5 matrix
。我想创建一个模板类来做到这一点。
Matrix<int,3,4> A;
Matrix<int,4,5> B;
Matrix<int,3,5> matrix = A*B;
我的代码:
template <class T, unsigned int ROWS, unsigned int COLUMNS>
class Matrix {
public:
/* blabla */
const Matrix<T, ROWS, /* ? */ >&
operator*(const Matrix<T, COLUMNS, /* ? */ >& matrix) const
{
/* multiplication */
}
/* blabla */
};
我不知道在这些/* ? */
部分中插入什么。有没有办法让编译器接受任何无符号整数值?我应该以不同的方式重写代码吗?
注意:我创建这个类是为了学术目的,我不在乎是否已经有图书馆这样做。