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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2015, 22:08   #1
Тимох
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 32
По умолчанию как передать в аргумент функции динамический массив

Доброго времени суток! Подскажите как передать в аргумент функции динамический массив.
PHP код:
#include <iostream>
#include <conio.h>

using namespace std;

int main()
{
    
setlocale(LC_ALL,"RUS");

    
int n=0;
    
cout<<"Введи количество элементов: ";
    
cin>>n;
    
int *p= new int[n]; //динамический массив что бы передать в функцию
    
    
delete [] p;

    
_getch();
    return 
0;
}

int ff(/*динамический массив*/int r)
{
    

Тимох вне форума Ответить с цитированием
Старый 29.12.2015, 22:14   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Так же, как и создавали. int*. Ну и размер тоже передать надо.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.12.2015, 22:41   #3
Тимох
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 32
По умолчанию

Размер нужно в скобках передавать или можно передать отдельной переменной(я думал передать r)?
Тимох вне форума Ответить с цитированием
Старый 29.12.2015, 22:52   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

В каких скобках? Отдельным параметром и надо. Просто для использования в функции, иначе как работать с массивом не зная размер.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 29.12.2015, 23:35   #5
Тимох
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 32
По умолчанию

Когда я в main пишу прототип функции и в аргумент вписываю p компилятор начинает ругаться, по разному пробовал записать а компилятору все не нравится
Тимох вне форума Ответить с цитированием
Старый 29.12.2015, 23:46   #6
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну так покажите код и текст ошибки.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.12.2015, 00:06   #7
Тимох
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 32
По умолчанию

Уже понял в чем было дело. Через ссылку получилось передать массив
PHP код:
ff(&pn); 
Тимох вне форума Ответить с цитированием
Старый 30.12.2015, 00:25   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем тут ссылка? (тем более что это не ссылка, а получения адреса — указателя) Как в ff оно объявлено?
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 30.12.2015, 00:28   #9
Тимох
Пользователь
 
Регистрация: 13.04.2015
Сообщений: 32
По умолчанию

В функции объявлено
PHP код:
void ff(int *k[], int r
Тимох вне форума Ответить с цитированием
Старый 30.12.2015, 00:31   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Надо либо *, либо [] (это тоже самое). А так у вас указатель на указатель (int**).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как передать динамический массив Tbitmap в процедуру Armageddets Мультимедиа в Delphi 3 21.06.2014 19:29
Как передать динамический массив в поток? bilibian Общие вопросы Delphi 8 28.02.2014 15:22
Как передать Динамический массив в функцию? RainCat Помощь студентам 4 13.04.2011 11:25
как передать аргумент? Sergey112233 Microsoft Office Excel 5 13.02.2011 12:32
Как правильно передать через ссылку двумерный динамический массив? amerhant Общие вопросы C/C++ 2 21.04.2010 23:50