I have the following code:
#include <iostream>
using namespace std;
class A
{
int m_value;
public:
A(int value)
{
m_value = value;
funcA(&A::param);
}
void funcA(void (A::*function)(int))
{
(this->*function)(m_value);
}
void param(int i)
{
cout << "i = " << i << endl;
}
};
int main()
{
A ob(10);
return 0;
}
I have a class in which I call a function that receives another function as parameter. The function call is at line funcA(&A::param)
. What I want is to be able to pass a function as parameter without being necessary to specify the class scope: funcA(¶m)
. Also I didn't want to use typedef
s that's why I have the code a little 'dirty'.
Is there any possibility to achieve this?