急如何用函数指针来调用类的成员函数,求高手解答
急!怎么用函数指针来调用类的成员函数,求高手解答!
#include <iostream>
using namespace std;
class A
{
public:
void Fun(){ cout<<"Test"; }
};
void f(void(*fun)())
{
fun();
}
void main()
{
A a;
f(a.Fun);
system("pause");
}
想这样的错误:error C3867: “A::Fun”: 函数调用缺少参数列表;请使用“&A::Fun”创建指向成员的指针
如果Fun不是类的成员函数就可以,但是如果是类的成员函数,怎么传入才没有错误呢!望高手解答!
------解决方案--------------------
#include <iostream>
using namespace std;
class A
{
public:
void Fun(){ cout<<"Test"; }
};
void f(void(*fun)())
{
fun();
}
void main()
{
A a;
f(a.Fun);
system("pause");
}
想这样的错误:error C3867: “A::Fun”: 函数调用缺少参数列表;请使用“&A::Fun”创建指向成员的指针
如果Fun不是类的成员函数就可以,但是如果是类的成员函数,怎么传入才没有错误呢!望高手解答!
------解决方案--------------------
- C/C++ code
#include <iostream> using namespace std; class A { public: void Fun(){ cout<<"Test"; } }; void f(void(A::*fun)()) { A obj; (obj.*fun)(); } int main() { f(&A::Fun); system("pause"); return 0; }