EventHandler
От: Снорк  
Дата: 06.08.03 06:51
Оценка:
Можно ли в C++ передать в шаблон не только имя типа, но и имя метода?

Вот исходник, который по понятным причинам не работает:

template<class T, class M> class CRN
{
public:
    CRN(T* pObject)
    {
        m_pObject = pObject;
    }

    void Notify()
    {
        m_pObject->M();
    }

protected:

    T*        m_pObject;
};


Планировалось его использовать следующим образом:

class C {
...
void SetEventHandler(CRN* pHandler);
...
void OnEvent()
{
    pHandler->Notify();
}
};

void Lalamba(C* p, Object* pObject)
{
    p->SetEventHandler(new CRN<Object, Method>(pObject))
}


Что приводило бы к вызову метода Method у экземпляра, указуемого p.

Как можно решить эту проблему в общем случае?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.