Как должна выглядеть подпись для функции Foo()
для класса classA
, когда я хочу передать указатель на функцию, которая является членом classB
? Функция update()
вызывается по запросу classB
и получает объект classA
. Внутри update()
функции Foo()
из classA
должен быть передан указатель на функцию обратного вызова. Эта функция является членом classB
. Я не могу сделать ничего статичного здесь. Есть ли способ сделать это, может быть, с помощью boost::function
?
Код:
class classA
{
public:
voif Foo(/*a pointer to a memberfunction of ClassB*/)
};
class classB
{
classB(){nVal = 0;}
int nVal;
public:
void increment(int n){nVal += n;}
void update(classA objA)
{
objA.Foo(increment)
}
};
std::function
иstd::bind
. - person Some programmer dude   schedule 01.08.2014classA
иclassB
явно различны, аFoo()
вclassA
просто берет ссылку на какой-то вызываемый объект? - person thokra   schedule 01.08.2014