C ++ не имеет массивов в стиле переменных.Что вы можете сделать, это привести адрес массива к указателю и передать измерения или даже привести к указателю на массив того же размера, но другой формы, а затем разыменовать этот указатель.
Один C ++Техника, которую вы можете использовать, чтобы придать ей сахар, если вы выбираете конечное число возможных форм, это объявить template< size_t L, size_t M, size_t N> int foo( int arr[L][M][N])
.Другим будет класс многомерного массива, который оборачивает ваш массив и его измерения.Затем вы можете создать объект, который будет псевдонимом, а не копировать массив, который вы можете индексировать как arr(i, j, k)
.