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

Callback - C++

Восстановить пароль Регистрация
 
rus_phantom
6 / 6 / 1
Регистрация: 31.03.2011
Сообщений: 69
21.12.2012, 17:39     Callback #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
template <class T>
class CFunctor {
public:
    CFunctor() {
        m_Instance          = NULL;
        m_MethodPointer         = NULL;
    }
    ~CFunctor() {};
    void Set(T* Instance, void (T::* MethodPointer)()) {
        m_Instance = Instance;
        MethodPointer = m_MethodPointer;
    }
    void Call() {
        R_ASSERT(!m_Instance);
        R_ASSERT(!m_MethodPointer);
        m_Instance->MethodPointer();
    }
private:
    T* m_Instance;
    void (T::* m_MethodPointer)();
};
 
void CUIButton::SetPressCallback(CFunctor f)
{
    m_callback_pressed = f;
}
Однако компилятор ругается на то, что нужно писать так: CFunctor< Имя_класса> f, а не CFunctor f. Вообще есть какие нибудь варианты передачи в класс указателя на void функцию произвольного класса?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.12.2012, 17:39     Callback
Посмотрите здесь:

Для чего нужны callback-функции C++
C++ Callback функция
C++ Не понимаю CALLBACK
CALLBACK. Нужна помощь C++
Что такое CALLBACK функция...... C++
For_each и аргументы callback-функции; Как передать callback'у больше одного аргумента C++
Callback + switch. Break needed C++
CallBack C++ C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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