要区分函数指针和函数类型
void Fun1(){
std::cout<<"Call Fun1()"<<std::endl;
}
int Fun2(std::string &str){
std::cout<<"Call Fun2()"<<std::endl;
}
std::vector<int>& Fun3(const int a){
std::cout<<"Call Fun3()"<<std::endl;
}
函数指针组成:返回值类型 + 函数指针名 + 函数参数类型
void (*pfunc)() = Fun1;
int (*pfunc)(std::string&) = Fun2;
std::vector<int>&(*pfunc)(const int) = Fun3;
函数类型:返回值类型 + 函数类型
Fun1的函数类型:void()
Fun2的函数类型:int(std::string&)
Fun3的函数类型:std::vector<int>&(const int)
函数指针的使用
//函数指针调用
void(*funptr1)() = Fun1;
funptr1();
int(*funptr2)(std::string&) = Fun2;
funptr2(str);
std::vector<int>&(*funptr3)(const int) =Fun3;
funptr3(100);