template<class T,int n>
void CMatrix<T,n>::SubMetrix(int line, int column,CMatrix<T,3>& m) const
{
assert(line>0&&line<=(n-2));
assert(column>0&&column<=(n-2));
for(int i=1;i<=9;++i)
m.ChangeValue(i,operator()(line+(i-1)/3,column+(i-1)%3));
}
说明:CMatrix<T,n>是定义的一个n行n列的模版矩阵,上面的函数实现取子矩阵的功能
参数CMatrix<T,3>& m是取一个3X3的矩阵,可以实现
现在我想取一个任意阶的矩阵,第三个参数该如何定义呢? |