// 8 使用typedef简化函数指针的声明#includeusing namespace std;//void (*p[5])(int&, int&);typedef void(*p)(float&,float&);//函数指针作为函数的参数的一般形式为:void func(void(*p)(int&,int&), int&, int&);//该函数func有三个参数,第一个参数void(*p)(int&,int&)是个函数指针,//它指向一个带有两个int型参数并且返回void值的函数,另外两个参数都是int型引用void square(float&x, float&y){x=x*x; y=y*y; }void cube(float&x, float&y){x=x*x*x; y=y*y*y; }//修改//但这里还是有问题,就是数据超出了范围//void print(void(*p)(float&,float&), float &x, float&y)void print(p vp, float &x, float&y){ cout<<"执行函数前"< >choice; switch(choice) { case '0':quit=true;break; case '1':vp = square;break; case '2':vp = cube;break; case '3':vp = Swap;break; default:vp = 0;break; } if(quit) break; if(vp == 0) { cout<<"请输入一个从0到3之间的数字"<