当前位置: 代码迷 >> C语言 >> [求助]如何解释这样的重定义?
  详细解决方案

[求助]如何解释这样的重定义?

热度:338   发布时间:2007-05-23 11:17:57.0
[求助]如何解释这样的重定义?
我在学习时看到这样的定义:typedef int (*ABC)(int a,int b);
我现在不明白,其中:ABC 的含义是什么?定义 ABC 后如何使用它呢?请赐教,谢谢!

----------------解决方案--------------------------------------------------------

ABC 是指向某个函数的指针吧,可以这样用的。
#include <iostream.h>

typedef int (*Fun)(int a, int b);

int add(int a, int b)
{
return a+b;
}

void main()
{
Fun fun;
fun = add;
int m = fun(20, 10);
cout<<m<<endl;
}
m就等于30。


----------------解决方案--------------------------------------------------------

#include<iostream>
using namespace std;
typedef int (*Fun)(int a, int b);

int add(int a, int b)
{
return a+b;
}

int main()
{
Fun fun;
fun = &add;
int m = fun(20, 10);
cout<<m<<endl;
system("pause");
}
问一下楼上,为什么我加一个地址,答案也是30,我感觉要加地址的


----------------解决方案--------------------------------------------------------
这个。。。我也不清楚,请问有哪位高手能解释一下?
----------------解决方案--------------------------------------------------------
  相关解决方案