#include<iostream>
int show(int a, int b){
return a + b;
}
int show2(int a, int b){
return a - b;
}
int ( *& test(int (*& pr)(int, int)))(int, int){//返回一个引用的函数指针
pr = show2;
return pr;
}
void main(){
int (*p)(int, int)(show);//首先定义一个函数的指针指向这个函数
int (*& pr)(int,int)(p);//给p在取一个别名
std::cout << p(1, 2) << std::endl;//首先测试一下第一个
pr = test(pr);//对函数指针的只想发生了修改
std::cout << p(1, 2) << std::endl;//再一次打印输出一下
system("pause");
}
int show(int a, int b){
return a + b;
}
int show2(int a, int b){
return a - b;
}
int ( *& test(int (*& pr)(int, int)))(int, int){//返回一个引用的函数指针
pr = show2;
return pr;
}
void main(){
int (*p)(int, int)(show);//首先定义一个函数的指针指向这个函数
int (*& pr)(int,int)(p);//给p在取一个别名
std::cout << p(1, 2) << std::endl;//首先测试一下第一个
pr = test(pr);//对函数指针的只想发生了修改
std::cout << p(1, 2) << std::endl;//再一次打印输出一下
system("pause");
}