Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Zerony
1 / 1 / 0
Регистрация: 31.10.2010
Сообщений: 40
#1

Передача в функцию массива - C++

20.02.2011, 16:01. Просмотров 1035. Ответов 3
Метки нет (Все метки)

Всем привет. У меня следующая проблема: мне нужно передать в функцию массив так, чтоб потом при завершении работы его значения поменялись.

В простом случае, когда я передавал не массив я делал так

C++
1
2
3
4
5
6
7
8
9
10
11
12
void func (int *a)
{
//Текст функции//
}
///
///
...
...
{
int b; 
func (&b);
}
И все работало. Теперь мне надо передать массив
Сейчас у меня есть функция
C++
1
2
3
4
void cut (double a[100][100], int n, int m, double *c[100][100])
{
///Текст///
}
И передать в нее нужно массив

C++
1
2
3
4
5
double b[100][100]; 
cut (a, i, j, &b);// Не работает!!!
//Пишет что ошибка в четвертом аргументе
//Ошибка    1   error C2664: cut: невозможно преобразовать параметр 4 из "double (*)[100][100]" в 
//"double *[][100]" d:\cpp\projects\det\det\det.cpp 162 1   det
Заранее спасибо за помощь!

Еще я думал сделать вариант чтоб функция возвращала этот массив, но я не знаю как его описать (классом бы не хотелось а то прожка простенькая)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2011, 16:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Передача в функцию массива (C++):

Передача массива в функцию используя указатель на функцию - C++
У меня имеется готовая программа без передачи функции в функцию указателем, мне нужно передать функцию ввода масива в функцию его обработки...

Передача двухмерного массива из функцию в функцию - C++
Допустим у меня есть функция, в которой "генерируется" массив. Но нужно его передать в другую функцию, которая его выведет на экран. ...

Передача массива структур в функцию не указывая размера массива - C++
Я читаю с командной строки файл в котором содержится массив структур. Есть библиотека с функцией в которую я прередаю файл и массив...

Передача массива в функцию - C++
Кто может объяснить как передать элемент структуры в функцию? допустим, я объявил структуру: struct one{ int nom; int mass; ...

Передача массива в функцию. - C++
Здравствуйте. Очень нужна помощь, мне необходимо передать массив в функцию (func). #include <iostream> using namespace std; ...

Передача массива в функцию С++ - C++
Например у меня есть функция для создания массива. И есть функция, которая дальше работает с уже созданным массивом. Как мне этот созданный...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
20.02.2011, 16:11 #2
ссылку на массив делай так
C++
1
void cut (double a[100][100], int n, int m, double (&c)[100][100])
вызов так
C++
1
2
double b[100][100]; 
cut (a, i, j, b);
если с указателями, то double (*c)[100][100] при объявлении функции, и &b при вызове
Zerony
1 / 1 / 0
Регистрация: 31.10.2010
Сообщений: 40
20.02.2011, 16:14  [ТС] #3
Цитата Сообщение от Ma3a Посмотреть сообщение
ссылку на массив делай так
C++
1
void cut (double a[100][100], int n, int m, double (&c)[100][100])
вызов так
C++
1
2
double b[100][100]; 
cut (a, i, j, b);
если с указателями, то double (*c)[100][100] при объявлении функции, и &b при вызове
Спс, все работает.
Ma3a
Эксперт C++
616 / 460 / 31
Регистрация: 28.01.2011
Сообщений: 605
20.02.2011, 16:29 #4
функция , возвращающая ссылку на массив указанного типа и размера объявляется немного непривычным образом

C++
1
2
template <typename T>
T (&func(/*params*/))[SIZE];
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2011, 16:29
Привет! Вот еще темы с ответами:

Передача массива в функцию - C++
Добрый день, мне нужно посчитать кол-во счастливых билетов на определенном промежутке. Используя для этого разные функции. Но проблема в...

Передача массива в функцию - C++
Помогите передать массив в функцию #include &lt;iostream&gt; using namespace std; void massiv() { int mas; // размер...

Передача массива в функцию - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;time.h&gt; using namespace std; void maxx(); int main(int argc, char *argv) ...

Передача массива в функцию - C++
В общем задание такое Превратить этот код в другой код, что-то поменять, я не врубаюсь что и как. Тема называется передача массива в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.02.2011, 16:29
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru