C++ 类成员函数地址
C++怎么样获取类成员函数的地址呢?我想获取到这个地址把它存放到链表中,以便需要时调用。网上找了好多都不太明白它的意思,希望各位朋友可以给予帮助给出一点代码,万分感谢了~...
C++ 怎么样获取类成员函数的地址呢?我想获取到这个地址把它存放到链表中,以便需要时调用。网上找了好多都不太明白它的意思,希望各位朋友可以给予帮助给出一点代码,万分感谢了~!
不是静态的。。 展开
不是静态的。。 展开
3个回答
2011-05-20
展开全部
函数名就是函数的入口地址,你在链表结点的设置中,指针应设定成指向函数的指针形式,用这个指针来接收要调用的函数的函数名(即函数的入口地址)。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
成员函数必须声明为static才可获取
#include <iostream>
using namespace std;
class A
{
public:
static void b(){}
};
int main()
{
void (*p)();
p = A::b;
}
#include <iostream>
using namespace std;
class A
{
public:
static void b(){}
};
int main()
{
void (*p)();
p = A::b;
}
追问
不是静态的,就是普通的成员函数
追答
那样的话要加上命名空间了..
而且只能接收函数地址
#include
using namespace std;
class A
{
public:
void b(){cout << "call b()" << endl;}
};
int main()
{
void (A::*p)();
p = &A::b;
A a;
(a.*p)();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询