天天看点

返回引用类型的函数指针(c++)

#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");



 }