Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
1 / 1 / 0
Регистрация: 14.11.2018
Сообщений: 490
1

Как передать двойной указатель в функцию и вернуть его

13.02.2019, 10:18. Просмотров 1621. Ответов 7
Метки нет (Все метки)


Как передать двойной указатель в функция и вернуть его?
В данном случае выдает ошибку :error C2440: =: невозможно преобразовать "double **" в "double"
note: Не существует контекста, в котором такое преобразование возможно
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#include<iostream>
using namespace std;
double fun(double **p);
int main()
{   
    double **p = 0;
    fun(p);
    cout << **p << endl;
    system("pause");
    delete *p;
    delete p;
}
double fun(double p)
{
    *(*(p = new double*) = new double) = 2;
    return p;
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.02.2019, 10:18
Ответы с готовыми решениями:

Работа с файлом (передать указатель на файл в функцию, вернуть указатель на файл из функции)
Подскажите как передать указатель на файл в функцию, как вернуть указатель на файл из функции. ...

Как передать двойной указатель не через ссылку?
Не выводит значение двойного указателя. Скорее всего он уничтожается при выходе из функции, а как...

Передать указатель в функцию и там его инициализировать
Друзья, как передать указатель в функцию там ему выделить память, чтобы на выходи из функции у меня...

Передать массив в функцию, произвести манипуляции с ним, вернуть его
Всем привет, при написании программы возникли некоторые сложности, нужно передать массив в функцию,...

7
245 / 163 / 78
Регистрация: 12.02.2019
Сообщений: 573
13.02.2019, 10:45 2
Лучший ответ Сообщение было отмечено Гуру77777 как решение

Решение

C++
1
2
3
4
double** fun(double **p)
.......
p=fun(p);
.....
2
1 / 1 / 0
Регистрация: 14.11.2018
Сообщений: 490
13.02.2019, 11:28  [ТС] 3
CoderPC, Почему когда я пишу fun(p); консоль ничего не выводит, а когда p=fun(p); выводит? я же писал возврат значения
0
245 / 163 / 78
Регистрация: 12.02.2019
Сообщений: 573
13.02.2019, 11:30 4
возвращает кому? в белый свет как в копеечку
0
1 / 1 / 0
Регистрация: 14.11.2018
Сообщений: 490
13.02.2019, 11:33  [ТС] 5
CoderPC, вызывающей программе main
0
245 / 163 / 78
Регистрация: 12.02.2019
Сообщений: 573
13.02.2019, 11:38 6
......если ссылки почему-то запрещены
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void fun(double ***p)
{
    *(*(*p = new double*)=new double)=2;
}
void main(int argc,char **argv)
{
    double **p=0;
    fun(&p);
    cout << **p << endl;
    delete *p;
    delete p;
    system("pause");
}
1
1 / 1 / 0
Регистрация: 14.11.2018
Сообщений: 490
13.02.2019, 11:44  [ТС] 7
CoderPC, Тут вместо если должно стоять разве?
0
245 / 163 / 78
Регистрация: 12.02.2019
Сообщений: 573
13.02.2019, 11:45 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
void fun(double** &p)
{
    *(*(p = new double*)=new double)=2;
}
void main(int argc,char **argv)
{
    double **p=0;
    fun(p);
    cout << **p << endl;
    delete *p;
    delete p;
    system("pause");
}
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.02.2019, 11:45

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

Указатель на функцию (как передать?)
void abc(int a, int b) { } void func(void *f(int, int)) { f; }

Как передать указатель в функцию?
Здравствуйте. Делал свою лабораторную по программированию. Вот её суть: Реализовал я это без...

Как передать указатель в функцию
Как реализовать передачу HWND в качестве параметра функции? В наборе типов для параметров метода...

Как передать параметр типа "указатель на указатель" в функцию?
#include &quot;stdafx.h&quot; #include &lt;conio.h&gt; #include &lt;iostream&gt; using namespace std; #include...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

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