Я в настоящее время читает учебник по C++, который гласит следующее:Передача многомерных массивов в функции в C++
При прохождении массивов более высоких размерностей, только первое измерение может быть открыт в то время как другие должны быть известны во время компиляции.
Мне нужно дальнейшее объяснение по этому вопросу. При передаче 1D-массива (int a[]
) некоторой функции f()
массивы распадается на указатель int* a
. Я предполагаю, что приведенное выше утверждение подразумевает, что 2D-массив, например, int a[][]
, распадается на int *a[]
или он говорит, что только первое измерение может быть динамически распределено (что является бессмысленным). В частности, что означает «только первое измерение может быть открыто»? Это единственные два объяснения, которые я смог придумать.