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

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

Восстановить пароль Регистрация
 
Programmer_С++
2 / 2 / 0
Регистрация: 13.10.2010
Сообщений: 149
13.10.2010, 21:39     Указатели на функции #1
Изучаю указатели на функции.
Написал учебную программку, которая выдает время года по номеру месяца.

Но возникает ошибка - не могу понять какая.

Текст программы:


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
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include <iostream>
using namespace std;
 
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
#include <stdbool.h>
 
//Задаем прототипы функций
bool isWhinter (int);
bool isSpring (int);
bool isSummer (int);
bool isAutumn (int);
 
 
 
int main ()
{
 
//Номер месяца
int month=3;
 
//Задаем указатель на функцию
bool(*ptr)(int);
 
//Задаем массив с типом данных - указатель ptr
ptr seasons[4];
 
//Инициализируем элементы массива
seasons[0]=isWhinter;
seasons[1]=isSpring;
seasons[2]=isSummer;
seasons[3]=isAutumn;
 
 
//Запускаем функции проверок через элементы массива - указатели на функции
 
if(seasons[0](month))
cout<<"Winter";
 
 
if(seasons[1](month))
cout<<"Spring";
 
 
if(seasons[2](month))
cout<<"Summer";
 
 
if(seasons[3](month))
cout<<"Autumn";
 
getch ();
}
 
 
 
bool isWhinter (int x)
{return(x>11||x<3);}
 
bool isSpring (int x)
{return(x>2&&x<6);}
 
bool isSummer (int x)
{return(x>5&&x<9);}
 
bool isAutumn (int x)
{return(x>8&&x<12);}
Компилятор Dev-C++
Сравнивал с книжным примером - вроде все правильно...
После компиляции возникает ошибка:
Миниатюры
Указатели на функции  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2010, 21:39     Указатели на функции
Посмотрите здесь:

C++ Шаблонные функции и указатели на функции
Указатели и указатели на указатели, а также типы данных C++
указатели и функции C++
C++ функции, указатели
C++ Указатели на функции
C++ Распечатать таблицы значений функций cox (x) и на отрезке [a; b] с шагом h, развив функции в ряд Тейлора и используя указатели на функции
Указатели и массивы. Указатели и функции C++
Указатели на массивы. Указатели и функции C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StUser
10 / 10 / 1
Регистрация: 09.10.2010
Сообщений: 23
13.10.2010, 22:00     Указатели на функции #2
Правильно так:
C++
1
typedef bool(*ptr)(int);
Добавлено через 19 минут
Или сразу, без определения типа указателя на функцию:
C++
1
bool (*seasons[4])(int);
Yandex
Объявления
13.10.2010, 22:00     Указатели на функции
Ответ Создать тему
Опции темы

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