Указатель на метод объекта класса. Возможно?
От: MTimur  
Дата: 29.03.10 21:20
Оценка:
class A
{
public:
    void m (void)    
    {
        //...
    };
};

typedef void     (*pa)(void);
typedef void (A::*pma)(void);

void someforeignfunc(pa)           // <-- вот это менять нельзя
{
    //...
}

A a;
void main ()
{
    someforeignfunc(/*???*/);         // <-- как вот здесь подсунуть указатель на a.m?
}


Как в someforeignfunc отдать указатель на a.m не используя интерфейсов вроде
void f()
{
    a.m();
}


Очевидное решение — изменить someforeignfunc так, чтобы принимала pma, но эта функция "не моя".
Понимаю, что никак, но надеюсь, что ошибаюсь
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.