Estoy tratando de hacer algo con punteros para los miembros de la función que no puedo 'averiguar cómo funciona esto.puntero al miembro de la función
tengo una clase A que se ve algo como esto
class A
{
public:
float Plus (float a, float b) { return a+b; }
float Minus (float a, float b) { return a-b; }
float Multiply(float a, float b) { return a*b; }
float Divide (float a, float b) { return a/b; }
};
Quiero declarar un puntero a una y luego pasar a otra función de un puntero de función a uno de los miembros de A.
algo le gusta esto:
void Will_Get_Function_Pointer(float a, float b, float (A::*pt2Func)(float, float))
{
(...)
}
Donde yo lo llamaría con algo como esto
A* myA = new A;
Will_Get_Function_Pointer(1.00,2.00, &myA->Minus)
no puedo utilizar miembros estáticos/const porque en mi aplicación definitiva Una apuntará a una Un específico en una colección de objetos A en algo que va a tener este aspecto
vector<A> vecA;
myA = &vecA[xxx]
Hacer esto falla miserablemente
typedef float (A::*pA)(float x, float y);
pA p = &myA->Minus;
y el compilador me dice que use & A :: Minus, pero que no funcionará para mí.
¿Puedo hacer esto?
Saludos
@ForEverT thanks! funcionó muy bien! –