我有以下代码:
#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;
}
我有一个类,我在其中调用一个接收另一个函数作为参数的函数。函数调用在 line funcA(&A::param)
。我想要的是能够将函数作为参数传递而无需指定类范围:funcA(¶m)
. 另外我不想使用typedef
s 这就是为什么我的代码有点“脏”。
有没有可能实现这一目标?