Аргумент типа int(*)[3] несовместим с параметром типа int**
Пишу на с++. В моей программе есть функция, которая по часовой стрелке поворачивает квадратную матрицу размера, заданного пользователем. Матрица, естественно, создается и заполняется перед вызовом этой функции.
void turn_array (int *.*arr, int num)
{
int tmp;
for (int i = 0; i < num / 2; i++)
{
for (int j = i; j < num - 1 - i; j++)
{
tmp = arr[i][j];
arr[i][j] = arr[num - j - 1][i];
arr[num - j - 1][i] = arr[num - i - 1][num - j - 1];
arr[num - i - 1][num - j - 1] = arr[j][num - i - 1];
arr[j][num - i - 1] = tmp;
}
}
}
С ней все вроде как в порядке, она работает. По моему заданию я должен создать отдельный модуль, чтобы проверить правильность ее работы. В нем я создаю матрицу заранее заданного размера и заполняю определенными мной числами, чтобы можно было потом сравнить ее с повернутой "вручную".
int test_matrix[3][3] =
{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
Когда я пытаюсь передать ее в turn_array я получаю ошибку "аргумент типа int(*)[3] несовместим с параметром типа int**", и у меня нет ни единой идеи как ее исправить.