Ponteiro de função de membro C ++
Considere a seguinte classe
class Foo
{
typedef bool (*filter_function)(Tree* node, std::list<std::string>& arg);
void filter(int filter, std::list<std::string>& args)
{
...
if (filter & FILTER_BY_EVENTS) {
do_filter(events_filter, args, false, filter & FILTER_NEGATION);
}
...
}
void do_filter(filter_function ff, std::list<std::string>& arg,
bool mark = false, bool negation = false, Tree* root = NULL)
{
...
}
bool events_filter(Tree* node, std::list<std::string>& arg)
{
...
}
};
Eu posso passarevents_filter
como um parâmetro para odo_filter
apenas quandoevents_filter
éstatic
membro. Mas eu não quero fazer issostatic
. Existe uma maneira em que eu possa passar o ponteiro para a função membro para outra função? Pode estar usandoimpuls bibliotecas (função semelhante) ou mai
Obrigado