Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2011, 14:29   #1
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию передача трёхмерного массива в функцию

Необходимо передать СТАТИЧЕСКИЙ трёхмерный массива в функцию
Почему-то на funct (int*** iArray) компилятор ругается. Может быть потому что от статический?
Маccив выглядит так:
Код:
int array[11][4][4]
P.S. Желательно его передать по указателю или ссылке, чтобы происходила максимально быстрая работа функции
Dimarik вне форума Ответить с цитированием
Старый 21.03.2011, 14:42   #2
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Dimarik
Цитата:
Почему-то на funct (int*** iArray) компилятор ругается. Может быть потому что от статический?
потому что статические и динамические МНОГОМЕРНЫЕ массивы по разному распределяются в памяти, в отличии от одномерных

Код:
void foo(int (*arr)[11][4][4])
{
    cout << (*mass)[x][y][z] << endl;
}

int main()
{
    int array[11][4][4];
    foo(&array);
    return 0;
}
или если не хочешь вручную разыменовывать, можно так:

Код:
void foo(int (*arr)[4][4])
{
    cout << mass[x][y][z] << endl;
}

int main()
{
    int array[11][4][4];
    foo(array);
    return 0;
}
оператор [] за тебя разыменует, но нужно помнить, что максимальная длина = 11

Цитата:
P.S. Желательно его передать по указателю или ссылке, чтобы происходила максимально быстрая работа функции
массивы в С/С++ всегда передаются в функцию по указателю (либо на первый элемент, либо на массив)
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance

Последний раз редактировалось pproger; 21.03.2011 в 14:55.
pproger вне форума Ответить с цитированием
Старый 21.03.2011, 16:33   #3
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

С П А С И Б О ! ! !
Dimarik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Передача массива в функцию GladiatoR24 Общие вопросы C/C++ 3 24.11.2010 22:51
Си++. Передача массива в функцию. Diamond2107 Помощь студентам 7 03.12.2009 20:15
Передача массива в функцию D[I]K Общие вопросы C/C++ 4 13.09.2009 21:31
передача массива в функцию JOFRIF Общие вопросы C/C++ 8 02.08.2009 12:46
Передача массива в функцию Vistar Общие вопросы C/C++ 1 27.04.2009 08:08