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

Передача указателя на функцию-член класса - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ разбить на функции программу http://www.cyberforum.ru/cpp-beginners/thread192075.html
помогите пожалуйста разбить на функции программу.все переменные передавать в качестве параметров.не использовать глобальные переменные.программа следущая: // lab4.cpp: определяет точку входа для...
C++ Генератор функции Для кривой представленной в параметрической форме разработать генератор этой функции в виде программы Провести испытания этого генератора и результаты представить в виде графика функций Роза... http://www.cyberforum.ru/cpp-beginners/thread192068.html
C++ Файлы и структура
Всем привет! Имеется структура: struct Sklad { int num; char name; int kol; float cost;
динамический массив C++
Помогите пожалуйста)Порядок выполнения лабораторной работы Вывести приглашение пользователю на ввод размерностей матри-цы. Выделить память под динамические массивы соответствующих размеров....
C++ Динамические структуры данных http://www.cyberforum.ru/cpp-beginners/thread192039.html
Реализовать односвязный список для хранения данных вида: ФИО, группа, средний балл. Обеспечить выполнение операций: добавление элементов в список; удаление элементов со средним баллом, меньше...
C++ Чтение из файла хочу прочесть из фалай пример txt втору строку первый символ пробывал fgets читает "все" какие варианты еще есть чтения из файла? подробнее

Показать сообщение отдельно
ggmann
20 / 20 / 1
Регистрация: 06.10.2008
Сообщений: 173

Передача указателя на функцию-член класса - C++

16.11.2010, 22:05. Просмотров 5117. Ответов 17
Метки (Все метки)

Необходимо передать фунцию-член класса как аргумент в функцию другого класса.
Код:

Файл main.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include "head.hpp"
 
int Class1::foo (int x) { return x+2; }
void Class1::doIt() {
    int k = Class2::Do(foo);
}
 
static int Class2::Do(fu f) {
    return 2 * f(0);
}
 
int main() {
    return 0;
}
Файл head.hpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#ifndef HEAD_HPP_INCLUDED
#define HEAD_HPP_INCLUDED
 
class Class1 {
    int foo (int x);
    void doIt();
};
 
class Class2 {
    typedef int (*fu)(int);
    static int Do(fu);
};
 
#endif // HEAD_HPP_INCLUDED
Ошибка:
main.cpp|5|error: no matching function for call to 'Class2 :: Do(<unresolved overloaded function type>)

Добавлено через 7 часов 48 минут
ну неужели нет вариантов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru