5个回答
展开全部
一个函数(actionfun)作为另一个函数的参数(mainfun),实际上是在运行主函数mainfun的时候,得到的一些数值传入到actionfun函数中,actionfun为主函数做一些设置也可以执行一些其他的功能,但都要从主函数mainfun中得到参数。 举例如下:
在.h中声明一个类型 和actionfun参数等一样
typedef int (*fun)(int tpart);
在.cpp中
int actionfun(int tpart)
{
//..........此处为执行函数,tpart为参数
return 0;
}
void mainfun(tag_t p_tag,fun actionfun)
{
//此处为执行代码....
//在执行打码中得到一个int值 假设为int int1
//将这个int1作为action的参数
(*actionfun)(int1);
}
大体就是这样使用的。
在.h中声明一个类型 和actionfun参数等一样
typedef int (*fun)(int tpart);
在.cpp中
int actionfun(int tpart)
{
//..........此处为执行函数,tpart为参数
return 0;
}
void mainfun(tag_t p_tag,fun actionfun)
{
//此处为执行代码....
//在执行打码中得到一个int值 假设为int int1
//将这个int1作为action的参数
(*actionfun)(int1);
}
大体就是这样使用的。
展开全部
把函数名作为参数就是函数的地址了.
比如
_beginthread()
这个函数,
void Thread()
{}
_beginthread( Thread, 0, 0)
就是启动Thread作为一个线程.
比如
_beginthread()
这个函数,
void Thread()
{}
_beginthread( Thread, 0, 0)
就是启动Thread作为一个线程.
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把函数名作为参数就是函数的地址了.
如下面的例子
#include <iostream>
using namespace std;
typedef int (*PFUN)(int a, int b);//函数指针
int add(int a, int b)
{
return (a+b);
}
void fun(int a, int b, PFUN pfun) //函数指针作为函数的参数
{
cout << pfun(a,b) <<endl;
}
int main()
{
int a=5;
int b=6;
PFUN pfun=add; //将函数指针指向add
fun(a, b, pfun);
return 0;
}
如下面的例子
#include <iostream>
using namespace std;
typedef int (*PFUN)(int a, int b);//函数指针
int add(int a, int b)
{
return (a+b);
}
void fun(int a, int b, PFUN pfun) //函数指针作为函数的参数
{
cout << pfun(a,b) <<endl;
}
int main()
{
int a=5;
int b=6;
PFUN pfun=add; //将函数指针指向add
fun(a, b, pfun);
return 0;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
应该是把某个函数的最终返回值作为另一个函数的参数。就是在调用的时候先去计算某函数的值,之后再把它作为调用它的函数的参数并带入此函数的计算。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
typedef void (*p) (void);
void invoke(p);//p is a pointer to a fuction
void output();
void output()
{
//do stn here
}
void invoke(output)
{
output();
}
void invoke(p);//p is a pointer to a fuction
void output();
void output()
{
//do stn here
}
void invoke(output)
{
output();
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询