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

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

Войти
Регистрация
Восстановить пароль
 
underwaterspace
2 / 2 / 0
Регистрация: 29.01.2013
Сообщений: 47
#1

Указатель на функцию - C++

20.02.2013, 20:19. Просмотров 244. Ответов 3
Метки нет (Все метки)

Нужно написать код, чтобы в нем был массив их трех указателей на функции
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include<iostream>
#include<locale>
#include<cmath>
using namespace std;
double calculate(double,double,double (*p)(double,double));
double add(double,double);
double dd(double,double);
double d(double,double);
int main()
{
    setlocale(LC_CTYPE,"russian");
    double (*pa[3])(double,double);
    pa[3]=(add,dd,d);
    double a,b;
    int i;
    cout<<"Введите пару чисел:\n";
    while(cin>>a>>b)
    {
        for(i=0;i<3;i++)
            cout<<"Результат "<<i+1<<": "<<calculate(a,b,pa[i])<<endl;
        cout<<"Введите пару чисел (для выхода введите q):\n";
    }
    system("PAUSE");
    return 0;
}
double calculate(double x,double y,double (*fun)(double,double))
{
    double q;
    q=fun(x,y);
    return q;
}
double add(double f,double g)
{
    return f+g;
}
double dd(double f,double g)
{
    return f*g;
}
double d(double f,double g)
{
    return f*f*g;
}
программа ругается на q=fun(x,y);
Пожалуйста, подскажите в чем дело.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2013, 20:19     Указатель на функцию
Посмотрите здесь:

С++ - указатель на функцию. C++
C++ Указатель на функцию
C++ Указатель на функцию
C++ Указатель на функцию
C++ Указатель на функцию
Указатель на функцию C++
Указатель на функцию C++
C++ Указатель на функцию
C++ Указатель на функцию, С++
Указатель на функцию C++
Указатель на функцию C++
C++ Указатель на функцию

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
palva
2508 / 1730 / 229
Регистрация: 08.06.2007
Сообщений: 6,788
Записей в блоге: 4
20.02.2013, 20:31     Указатель на функцию #2
13 строка вашего кода
C++
1
pa[3]=(add,dd,d);
Я объясняю вам, что вы потребовали от компьютера. Присвоить четвертому элементу массива pa указатель на функцию d. Вы наверняка хотели не этого, но здесь не только ошибка, здесь криминал. Массив содержит всего три элемента, а вы присвоили четвертому. Дальше программу можно не смотреть.
Schizorb
508 / 460 / 16
Регистрация: 07.04.2012
Сообщений: 865
Записей в блоге: 1
Завершенные тесты: 1
20.02.2013, 20:32     Указатель на функцию #3
C++
1
double (*pa[3])(double,double) = {add,dd,d};
underwaterspace
2 / 2 / 0
Регистрация: 29.01.2013
Сообщений: 47
20.02.2013, 20:47  [ТС]     Указатель на функцию #4
palva, Schizorb, Мда, не заметил, проблема была в этом, спасибо большое. Извините за глупый вопрос.
Yandex
Объявления
20.02.2013, 20:47     Указатель на функцию
Ответ Создать тему
Опции темы

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