Передача многомерных массивов в C++ осуществляется следующим образом: указываются все размеры массива, кроме первого. 2
Это связано со способом интерпретации многомерных массивов в C++: первый индекс является необязательным, поскольку функции на самом деле передаётся ссылка на первый элемент массива (для многомерных массивов этот первый элемент сам является массивом). 2
Все последующие индексы нужны для того, чтобы компилятор мог корректно выделить место под элементы массива. 2
Пример объявления: void print(int (*numbers)3)
. 1 Здесь предполагается, что передаваемый массив будет двухмерным, и все его подмассивы будут иметь по 3 элемента. 1
Также можно воспользоваться шаблонами, передавая массив по ссылке. 3