массив
int l1=2;
int l2=5;
int arr[l1][l2];
* к значениям массива могу обращаться :
arr[1][2]
* хочу передать в функцию
func(arr)
* в объявлении функции не даёт написать
def func(int arr [][]){}
ругается так как надо указать размеры, но размеры я получаю извне до компиляции неизвестны.
В итоге приходиться писать:
def func(int* arr){}
и чтобы получить значение по двум индексам надо преобразовывать в flat-индекс.
Собственно вопрос, так все делают? Есть ли способ заставить работать синтаксис arr[ind1][ind2] внутри функции, как то странно получается что нельзя собрать массив из указателя и длин без копирования
уже первый пункт это не ISO C++, это GCC extension
Обсуждают сегодня