高手求救,关于C++的简单问题,我想问一下,typedef int(*lpAddFun)(int, int);表示什么意思啊

typedef 我记得的用法是类似于 typedef int M 这里是给int定义一个别名,单上面的那种形式都不像这种方式啊,求解释

你好;
这其实是一个定义函数指针为另一个名称;
为了便于理解:拆分为:typedef int(*) (int ,int) lpAddFun
即一个带有2个int形式参数,返回值为int的函数指针;给这样的函数指针指定一个别名:lpAddFun

最后建议你去了解一下函数指针;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-30
首先你要明白函数指针的概念
int *p(int ,int );//声明一个函数
int (*p)(int ,int);声明一个函数指针
typedef int(*lpAddFun)(int, int);
就是把这个类型的函数指针的声明变为lpAddfun;
哪里不明白可以追问本回答被网友采纳
第2个回答  2013-05-30
之后你就能使用 lpAddFun 来定义变量。
lpAddFun p ;
表示 p 是一个函数指针,能接受2个int类型参数,返回int值。
如:
int max(int x,int y){ return(x>y?x:y);
lpAddFun p = max;
int a = (*p)(2, 3)
====> a为3
第3个回答  2013-05-30
typedef int(*lpAddFun)(int, int);
int func(int a,int b)
{
return a+b;
}
lpAddFu ptr = func;
ptr(1,2);

定义一个指向函数的指针类型

给你一个例子:

相似回答