关于函数指针的调用---不会用阿,大哥们
#include <map>
using namespace std;
//---------------------------------------------------------------------------
//类声明
class CLS;
class A;
typedef void(A::*PF)(CLS*);
//---------------------------------------------------------------------------
//仅仅为了做参数用的一个类
class CLS
{
};
//---------------------------------------------------------------------------
class A
{
public:
A()
{
m_map["f1"] = &(A::f1);
m_map["f2"] = &(A::f2);
m_map["f3"] = &(A::f3);
m_map["f4"] = &(A::f4);
};
map<char*,PF> m_map;//存放函数指针的一个map
void f1(CLS*){};
void f2(CLS*){};
void f3(CLS*){};
void f4(CLS*){};
void f();
CLS *cls;
PF *p;
};
//---------------------------------------------------------------------------
class B
{
public:
map<char*,PF>* m_pmap;
CLS *pcls;
};
//---------------------------------------------------------------------------
static A *a = new A;
static B *b = new B;
main()
{
a->f();
a->p= &(*b->m_pmap)["f1"];
(a->p)(a->cls);//这一句出错信息:call of nonfunction
(*(a->p))(a->cls);//这一句出错信息:call of nonfunction
}
using namespace std;
//---------------------------------------------------------------------------
//类声明
class CLS;
class A;
typedef void(A::*PF)(CLS*);
//---------------------------------------------------------------------------
//仅仅为了做参数用的一个类
class CLS
{
};
//---------------------------------------------------------------------------
class A
{
public:
A()
{
m_map["f1"] = &(A::f1);
m_map["f2"] = &(A::f2);
m_map["f3"] = &(A::f3);
m_map["f4"] = &(A::f4);
};
map<char*,PF> m_map;//存放函数指针的一个map
void f1(CLS*){};
void f2(CLS*){};
void f3(CLS*){};
void f4(CLS*){};
void f();
CLS *cls;
PF *p;
};
//---------------------------------------------------------------------------
class B
{
public:
map<char*,PF>* m_pmap;
CLS *pcls;
};
//---------------------------------------------------------------------------
static A *a = new A;
static B *b = new B;
main()
{
a->f();
a->p= &(*b->m_pmap)["f1"];
(a->p)(a->cls);//这一句出错信息:call of nonfunction
(*(a->p))(a->cls);//这一句出错信息:call of nonfunction
}
...全文
相关推荐
大哥阅读答案子民【大哥阅读答案】.docx
作者选择了最直接的方式——乘坐直达汽车回家,以免让年迈的大哥过于劳累,却也因此失去了与大哥相见的机会,这其中透露出的遗憾和温情,让人感动。大哥的形象是这篇故事的核心。
大哥网高权重模板
大哥网作为一个知名的在线平台,其权重反映了网站在搜索引擎中的重要性和受欢迎程度,因此,模仿大哥网的模板设计并进行SEO优化是提升新网站流量和排名的有效手段。
王大哥的求职经
备受追捧的求职必杀技:王大哥的求职经.chm
大哥的一封安全家书.docx
这一切都在一封普通的家书中得到了深刻的体现,这就是《大哥的一封安全家书》。家书中的大哥,以对弟弟在冶炼厂工作的安全关切为出发点,深入浅出地阐述了安全意识在工作和生活中的重要性。
那位大哥有javascript object 大全
那位大哥有javascript object 大全


