¿Cómo puedo pasar una función miembro donde se espera una función libre?
La pregunta es la siguiente: considera este pedazo de código:
#include <iostream>
class aClass
{
public:
void aTest(int a, int b)
{
printf("%d + %d = %d", a, b, a + b);
}
};
void function1(void (*function)(int, int))
{
function(1, 1);
}
void test(int a,int b)
{
printf("%d - %d = %d", a , b , a - b);
}
int main (int argc, const char* argv[])
{
aClass a();
function1(&test);
function1(&aClass::aTest); // <-- How should I point to a's aClass::test function?
return 0;
}
¿Cómo puedo usar ela
esaClass::test
como un argumento parafunction1
? Estoy atascado en hacer esto.
Me gustaría acceder a un miembro de la clase.