Как передать в функцию многомерный массив с++ - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Как передать в функцию многомерный массив с++

Регистрация
12 Май 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Как передать в функцию многомерный массив, если не известно количество элементов в измерениях? Например
void test(float ts[][]) выдает ошибку. Думаю, тут дело в указателях, но сам никак не могу с ними разобраться..
 
Регистрация
18 Авг 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Надо при объявлении функции указывать размер меньшего измерения массива: void vqvod(int arr[][m]){ ...// тут цикл cout<<arr[j]; ... } Или с указателем: void vqvod(int* arr[m]){ ...// тут цикл cout<<arr[j]; ... } С простым указателем: void vqvod(int * arr){ ...// тут цикл cout << *( arr + i*m + j); // строчка для долгих раздумий ... } int main() { ... vqvod ((int*) a); //вот так нужно вызывать функцию ... }
 
Регистрация
18 Июл 2013
Сообщения
86
Репутация
0
Спасибо
0
Монет
0
void test( float **ts ) , если это действительно многомерный массив NB! 1) при этом float** совсем не тоже самое, что [][] - первое массив массивов (возможно, разной длины); второе - цельный блок 2) [][] можете запихнуть в typedef struct
 
Сверху Снизу