这段代码可能有什么问题?
template< typename Tp, const uInt N>
Matrix<Tp,N-1,N-1> minorMatrix_IJ(const Matrix<Tp, N, N>& A, uInt Ith_row, uInt Jth_col)
{
assert(N > 1);
Matrix<Tp, N-1,N-1> temp;
uInt k = 0, m = 0;
for(uInt i = 0; i < N; i++, k++)
{
if(i == Ith_row)
{
if(k > 0) k--;
continue;
}
for(uInt j = 0; j < N; j++, m++)
{
if(j == Jth_col)
{
if(m > 0) m--;
continue;
}
temp[k][m] = A[i][j];
std::cout <<"temp: " << temp[k][m] <<"\n";
}
}
return temp;
}
在函数temp的值内正确分配,但返回的值会以某种方式错误的值。 (Matrix只是一个带有2d数组[行] [cols]的模板类)谢谢
答案 0 :(得分:0)
我怀疑你的Matrix类表现不正常。也许是复制构造函数。