返回信息流int fun(int i,int j)
{
int c=3;
return (i>j)?i:j;
}
typedef int (*FUN) (int, int);
void main()
{
int a,b,c;
a=2;
b=5;
FUN p = fun;
c=p(a,b);
cout<<c;
}
结果有的,输出时5。
但是发现p的值和fun的值不一样。
FUN p = fun;这个语句不就是将fun函数地址赋给p函数指针么?
很奇怪。。。
这是一条镜像帖。来源:北邮人论坛 / cpp / #47145同步于 2010/12/1
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
指向函数的指针 奇怪的问题(已解决)
oscar
2010/12/1镜像同步24 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
真有趣,FUN是个类型,p是个指针, 合起来就是 FUN p。
【 在 oscar 的大作中提到: 】
: int fun(int i,int j)
: {
: int c=3;
: ...................
【 在 guo 的大作中提到: 】
: 什麼叫“p的值和FUN的值不一樣”
: p = fun;
: p不是應該==fun嗎
: ...................
不好意思,打错了
发现p的值和fun的值不一样。
按道理fun()函数赋给p,两个应该是一样的啊。
【 在 zxsword 的大作中提到: 】
: 没读懂楼主问什么
: fun是一个地址,p是一个指针,p指针指向的地方,存储了fun的地址。。。楼主是想说这个吗?
: --
: ...................
恩的。发现*p!=fun...
所以我感到奇怪
发帖中我把fun打成FUN了,不好意思,改过来了
【 在 zxsword 的大作中提到: 】
: 没读懂楼主问什么
: fun是一个地址,p是一个指针,p指针指向的地方,存储了fun的地址。。。楼主是想说这个吗?
: --
: ...................
调试中*p=0X0040100a
fun=0x00401280
【 在 ki 的大作中提到: 】
:
:
附件(691.5KB)
: 【 在 oscar 的大作中提到: 】
: ...................
我在vc6.0上面的确是不同。怪异[upload=1][/upload]
【 在 ki 的大作中提到: 】
:
: [upload=1][/upload]
: 【 在 oscar 的大作中提到: 】
: ...................
请看我发的截图