先来一段代码:
#include <iostream>
void Add(int a,int b)
{
std::cout <<a+b<<"\n" ;
}
int main(int argc, const char * argv[]) {
//Add(2,2);
void (*a)(int,int);
a = Add;
(*a)(3,3);
return 0;
}
代码分析:
首先看到一个Add函数,功能是将传入的2个参数相加后得到结果并在控制台输出。
当外部需要调用Add函数的时候,可以使用指针函数来代表Add函数。这是我们需要先定义一个指针函数
void (*a)(int,int);
之后,将a = Add, 意思是将Add函数的地址拷贝到a变量。
之后,就可以使用(*a)来代表Add函数了。注意:a代表函数的地址,*a 代表函数本身。
(*a)(3,3);