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

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

Войти
Регистрация
Восстановить пароль
 
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
#1

Вызов функции класса по каллбеку - C++

19.12.2012, 07:59. Просмотров 336. Ответов 1
Метки нет (Все метки)

Хочу реализовать возможность вызова метода класса по каллбеку. Сделал такой класс:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class ICallable {
public:
                                ICallable               ();
    virtual                     ~ICallable              ();
    void                        CallbackSet             (void (ICallable::* pMethodPointer)(), ICallable *pInstance);
    void                        Call                    ();
private:
    (ICallable::* m_MethodPointer)();
    ICallable *m_Instance
};
 
void ICallable::CallbackSet(void (ICallable::* pMethodPointer)(), ICallable *pInstance)
{
    m_MethodPointer = pMethodPointer;
    m_Instance = pInstance;
}
 
void ICallable::Call()
{
    m_Instance->m_MethodPointer;
}
В m_Instance хранится указатель на класс, метод которого мы будем вызывать, а в m_MethodPointer указатель на метод этого класса, который мы будем вызывать. Однако компилятор ругается на строку: (ICallable::* m_MethodPointer)();

..\src\/Callable.h:18: error: ISO C++ forbids declaration of 'm_MethodPointer' with no type
В чем проблема?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.12.2012, 07:59     Вызов функции класса по каллбеку
Посмотрите здесь:
Вызов функции из класса C++
Вызов функции вне класса C++
C++ Вызов функции по указателю из класса
Вызов функции в шаблоне класса C++
вызов статичной функции класса C++
C++ Вызов функции из основного класса в наследуемом
Вызов глобальной функции из объекта класса C++
C++ Вызов функции класса. Чего-то не допонял
C++ Вызов неконстантной функции класса в mem_fun_ref
C++ Вызов функции родительского класса в наследнике
C++ Вызов функции с не заданными параметрами из объекта класса
C++ Не работает вызов виртуальной функции из класса потомка

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
19.12.2012, 09:13     Вызов функции класса по каллбеку #2
Тип возвращаемого значения забыли указать. И точку с запятой после m_Instance;
Ответ Создать тему
Опции темы

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