如何在类函数旋转矩阵中使用函数swap?我一直无法找到任何答案。
void matrix::swap(int& a, int& b)
{
int temp = a;
a = b;
b = temp;
}
void matrix::rotateMatrix()
{
int n = m_matrixSize;
int level = 0;
int last = n-1;
int numOfLevels = n/2 ;
while(level < numOfLevels)
{
for(int i = level;i < last; i++)
{
swap(matrix[level][i], matrix[i] [last]);
swap(matrix[level][i], matrix[last][last - i + level]);
swap(matrix[level][i], matrix[ last - i + level][level]);
}//end for
++level;
--last;
}//end while
}//end rotateMatrix
答案 0 :(得分:0)
就像上面提到的那样,我只需要在swap之前使用范围运算符。所以matrix :: swap,修复了问题。我也错误地标记了数组的名称。