标题:关于函数指针
只看楼主
lj931475
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2005-12-14
 问题点数:0 回复次数:2 
关于函数指针

#include <iostream>
int a(int);
void b(int x,int(*pf)(int));

int main()
{
using namespace std;
int x=1;
cout<<b(x,a);
return 0;
}

int a(int a)
{
return 1 * a;
}

void b(int y,int(*pf)(int))
{
return (*pf)(y);
}

这个程序中的 函数b中的参数double(*pf)(int) 是不是有点问题 好象在main函数中没声明 这样能使用吗?

搜索更多相关主题的帖子: int 函数 指针 void return 
2006-10-14 18:35
柳儿
Rank: 6Rank: 6
等 级:贵宾
威 望:25
帖 子:1830
专家分:30
注 册:2004-9-23
得分:0 
可以啊。
这里的int(*pf)(int)就是一个函数指针,声明了它指向的函数的类型,而不是一个具体的函数。
感觉就像函数b里的第一个参数x,只是一个变量而已,并不具体代表某个值。

成功会使人骄傲。如果你骄傲自大,你就会停止学习。不学习,人就停止了进步
2006-10-14 19:51
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
得分:0 
只是一个型参
怕什么
看你传什么了

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-10-14 22:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-96350-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.052880 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved