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

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

Войти
Регистрация
Восстановить пароль
 
Programmer_С++
2 / 2 / 0
Регистрация: 13.10.2010
Сообщений: 149
#1

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

13.10.2010, 21:39. Просмотров 466. Ответов 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++
Помогите доделать и исправить... Задание: 1. Создать структуру Прямоугольник, с полями Высота и Ширина. Создать массив объектов типа...

Указатели на функции - C++
Написать программу, использующую функцию graf(f, k), которая строит (по отдельности) в точках 1, 2, ..., k (где k — заданное целое число от...

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

Функции и указатели - C++
Второй нубский вопрос за день. До сегодняшнего дня вполне успешно пользовался STL-овскими стрингами, сейчас наткнулся в книге Страуструпа...

функции, указатели - C++
Ввести 2 массива из N неотрицательных чисел разной размерности. Считать N≤100. Конец ввода элементов индицирует ввод отрицательного числа. ...

Указатели и функции... - C++
Ребят.. у меня такой вопрос.. мне нужно сделать простенький массивчик ( одномерный) из n вещественных чисел. ввод n и элементов массива...

Указатели на функции - C++
Помогите написать определения(или объявления) функций которые соответсвуют типам указателей. С первой я разобрался, а вот со следую щими...

Указатели функции - C++
Прошу помочь знающих людей разобраться с указателями функции. На учебе задали вот такое задание: Используя указатели ф-ции нужно: 1)...

Указатели и функции - C++
Доброго времени суток. Прошу помощи у пользователей данного форума) Значит стоит такая вот задача: В командной строке задаются...

Указатели на функции - C++
Что означает операция Type::* F; и почему она работает только, когда Type2(Type::* F);

Функции и указатели - C++
Здравствуйте! Помогите пожалуйста! Найти площадь выпуклого u-угольника на плоскости. Подпрограмма: нахождение площади треугольника по...

Указатели на функции - C++
Подскажите должен ли работать этот код(самый первый). И как он работает


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
StUser
11 / 11 / 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     Указатели на функции
Ответ Создать тему
Опции темы

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