Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Передача динамического двухмерного массива в функцию http://www.cyberforum.ru/cpp-beginners/thread995905.html
Всем добрый вечер. Я понимаю, что эта тема поднималась не раз, но хочу еще раз спросить т.к. конечного решения так нигде и нет. Вот моя программа, которая должна считывать информацию из файла...
C++ Посчитать количество запятых Во введенной строке заменить все пробелы на запятые, а запятые на точки. Посчитать количество запятых во введенной строке. Нужно написать программу. Заранее спасибо. http://www.cyberforum.ru/cpp-beginners/thread995903.html
C++ Массивы. Обнулить элементы столбцов
Здравствуйте! Всю жизнь программировал на Паскале и вдруг си++...помогите пожалуйста с заданием, желательно с объяснением, ибо чайник полный.. Написать программу на языке C++ в среде Microsoft...
Передать итератор на шаблонный вектор в функцию C++
Здравствуйте. Есть два вектора std::vector<Player> players; // Player - структура с двумя полями std::vector<size_t> indices; Я хочу написать функцию сортировку, в которую можно было бы...
C++ Код из книги выдаёт ошибку http://www.cyberforum.ru/cpp-beginners/thread995884.html
Код из книги выдаёт ошибку. Использую Visual Studio 2010 Exspress //: CO3:Forward.cpp // Опережающие объявления функций и данных //Page 120 #include<iostream> using namespace std; ...
C++ Из массива удалить четные элементы Здравствуйте. Всю жизнь программировал на Паскале и вдруг си++...помогите пожалуйста с заданием. Написать программу на языке C++ в среде Microsoft Visual Studio 2010 C++. Исходные данные задаются... подробнее

Показать сообщение отдельно
akk
44 / 44 / 7
Регистрация: 28.01.2012
Сообщений: 341

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

03.11.2013, 01:23. Просмотров 523. Ответов 8
Метки (Все метки)

Есть такой код, но он не компилируется.
В коде я использую указатель на функцию "Func", что я делаю неправильно? и как это можно записать в виде функционального класса (в комментариях начал его писать, но как его корректно вызвать не могу придумать).

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
#include <iostream>
#include <memory>
#include <map>
#include <string>
 
using namespace std;
 
int add(const int &a, const int &b)
{
    return a+b;
}
 
int (*Func)(const int &, const int &);
 
/*
class Func
{
    int operator()(const int &, const int &);
};
*/
int main(int argc, char * argv[])
{
    map<string, Func> * qwe = new map<string, Func>();
    
    qwe->insert(pair<string, Func>("+", add);
    cout<<(*qwe)["+"](5,7);
    
    delete qwe;
    
    cin.get();
    return 0;
}
Добавлено через 29 минут
С указателем на функцию понял в чем была моя ошибка нужно вместо
C++
1
int (*Func)(const int &, const int &);
использовать
C++
1
typedef int (*Func)(const int &, const int &);
Но как тогда сделать это в виде функционального класса?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.