一般为函数指针声明类型定义如下:
typedef void (*pfv) ();但是可以直接这么定义吗?如下:
void (*p) (); //p是指向某函数的指针
typedef void (*pfv) ();但是可以直接这么定义吗?如下:
void (*p) (); //p是指向某函数的指针
解决方案 »
- 为什么我picture control上面的图片不会变?
- vista下,你们觉得是装 《CodeGear RAD Studio 2009》好,还是《Visual Studio 2008》好?
- 急!CFormView去掉Client部分的边框,或变成Flat!
- Direct 9 3D怎样将.x文件作成动画
- 一个有关单色位图的问题,请进!!在线等待......
- 我有三种文件,都想用一个程序打开,应该怎样写注册表
- 谁能告诉我在视图中 OnPaint和OnDraw之间的关系?
- 谁知道DirectX的开发包从哪里下载?
- 请问如何将文本文件中的软回车替换为硬回车,很急很急!!!!
- 请问为什么我用mshflexgrid的datasourse读取数据只能显示2048条记录
- 如何在VC中调用DLL
- ......must have class/struct/union type相关的问题
{
public:
void func(int)
{
cout << "MyFunc::fun" << endl;
} void static static_func()
{
cout << "MyFunc::static_func" << endl;
} void const_func() const
{
cout << "MyFunc::const_func" << endl;
}
};// 测试函数指针
void test_funcptr()
{
typedef void(*Func)();
Func pF;
pF = fun1;
(*pF)();
pF = fun2;
(*pF)();
// 注意区别
void(*pF2)();
pF2 = fun1;
(*pF2)();
pF2 = fun2;
(*pF2)();
}// 测试成员函数指针
void test_memfuncptr()
{
MyFunc myFunc;
typedef void (MyFunc::*mem_fun)(int);
typedef void (*Static_Func)();
mem_fun pF;
Static_Func pStaF;
pF = MyFunc::func;
pStaF = MyFunc::static_func;
(myFunc.*pF)(1);
(*pStaF)(); // 注意区别
void (MyFunc::*mem_fun2)(int);
void (MyFunc::*mem_constfun)() const;
mem_fun2 = MyFunc::func;
mem_constfun = MyFunc::const_func;
(myFunc.*mem_fun2)(1);
(myFunc.*mem_constfun)();
}