标签:方式 ret amp 表示 语法 指针 返回 str1 定义
语法:返回值类型 (*函数名)(参数列表);
举例说明:int (*Func)(int m, int n);
例如:
1 typedef int (*Func)(int m, int n);
1 // 1. 先声明对应函数指针类型的函数 2 int max(int num1, int num2) 3 { 4 return num1 > num2 ? num1 : num2; 5 } 6 7 //2. 初始化 8 Func fc = 0;//表示函数指针不指向任何函数 9 Func fp = max;//表示函数指针指向max函数 10 11 //3. 调用 12 max(10,20);//直接调用 13 fp(10,20);//使用函数指针调用
有两种方式:
1 //1. 2 void useBigger(const string &str1, const string &str2, 3 bool (const string &s1, const string &s2)); 4 //或者 5 void useBigger(const string &str1, const string &str2, 6 bool (*)(const string &s1, const string &s2));
例如:
1 int (*ff(int)) (int *p1, int n);
这句话的意思是:ff(int)
是一个函数,带有一个int型形参,返回值类型为int (*) (int *p1, int n)
,也就是返回一个函数指针。使用typedef可使该定义更简明易懂:
1 typedef int (*PP)(int *p1, int n); 2 PP ff(int);
例如:
1 extern void ff(vector<double> vds); 2 extern void ff(unsigned int n); 3 4 typedef void (*PF1)(unsigned int n); 5 6 PF1 p = ff;//ff(unsigned int)
指针的类型必须与重载函数的其中一个版本精确匹配,否则导致编译出错。
标签:方式 ret amp 表示 语法 指针 返回 str1 定义
原文地址:http://www.cnblogs.com/calence/p/7457466.html