函数地址作为参数
function(p1,p2){createthread(p1);}p1的类型,怎么定义啊,包括修饰名约定,调用约定?...
function(p1,p2)
{
createthread(p1);
}
p1的类型,怎么定义啊,包括修饰名约定,调用约定? 展开
{
createthread(p1);
}
p1的类型,怎么定义啊,包括修饰名约定,调用约定? 展开
3个回答
展开全部
成员函数名不能作为参数传递,否则会发生错误,因为里面隐藏着一个this 指针
回调函数,就是由你自己写的。你需要调用另外一个函数,而这个函数的其中一个参数,就
是你的这个回调函数名。这样,系统在必要的时候,就会调用你写的回调函数,这样你就可
以在回调函数里完成你要做的事。
模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们就把foo称为回调函数。
回调函数,就是由你自己写的。你需要调用另外一个函数,而这个函数的其中一个参数,就
是你的这个回调函数名。这样,系统在必要的时候,就会调用你写的回调函数,这样你就可
以在回调函数里完成你要做的事。
模块A有一个函数foo,它向模块B传递foo的地址,然后在B里面发生某种事件(event)时,通过从A里面传递过来的foo的地址调用foo,通知A发生了什么事情,让A作出相应反应。 那么我们就把foo称为回调函数。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果你想在参数里面是调用地址的话 那么应该是(类型* p1,类型* p2)就OK了 或者是你想直接传数组则(类型 p1[],类型 p2[]) 那么你在函数里面调用都是直接调用实参!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
int add(int a, int b)
{
return a+b;
}
int sub(int a, int b)
{
return a-b;
}
int function(int (*p)(int,int), int a, int b)
{
return (*p)(a, b);
}
function(add, a, b);
function(sub, a, b);
{
return a+b;
}
int sub(int a, int b)
{
return a-b;
}
int function(int (*p)(int,int), int a, int b)
{
return (*p)(a, b);
}
function(add, a, b);
function(sub, a, b);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询