【问题标题】:Using a class function inside another function in the same class in C++在 C++ 中的同一类中的另一个函数中使用类函数
【发布时间】:2016-09-22 17:29:06
【问题描述】:

如何在类函数旋转矩阵中使用函数交换?我一直无法找到任何答案。

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

【问题讨论】:

  • 你遇到了什么错误?
  • 如果...您的文件顶部有using namespace std; 而不是matrix::swap,而是std::swap?请注意,这只是一个猜测,由于缺少minimal reproducible example,我投票结束。

标签: c++ arrays matrix


【解决方案1】:

就像上面提到的人一样,我只需要在交换之前使用范围运算符。所以matrix::swap,解决了这个问题。我还错误地标记了数组的名称。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-01
    • 2018-08-17
    • 1970-01-01
    相关资源
    最近更新 更多