私は次のコードを持っています:
#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;
}
別の関数をパラメーターとして受け取る関数を呼び出すクラスがあります。関数呼び出しは行にありfuncA(&A::param)
ます。私が欲しいのは、クラススコープを指定する必要なしにパラメーターとして関数を渡すことができることですfuncA(¶m)
。また、私はsを使いたくなかったのでtypedef
、コードが少し「ダーティ」になっています。
これを達成する可能性はありますか?