我遇到了我的矩阵类的问题,我无法找到解决方案。(C++)模板矩阵类中的矩阵乘法
Matrix = ROWSxCOLUMNS
Let A be a 3x4 matrix
Let B be a 4x5 matrix
操作AxB
(其定义仅当A匹配的列B的行)导致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 */
};
我不知道该怎么在/* ? */
部分插入。 有没有办法让编译器接受任何无符号的整数值?我应该用不同的方式重写代码吗?
注:我创建这个类学术目的,我不关心,如果有已经是做到这一点的库。
我可以向谷歌建议“矩阵模板C++”吗? - http://www.drdobbs.com/a-c-matrix-template-class/184403323?pgno=2 – SChepurin