标签:
看耗子叔文章学习虚函数表(http://blog.csdn.net/haoel/article/details/1948051)的时候被例子的第一句惊到了
typedef void(*Fun)(void);
多亏RR相助,弄懂了。
这行代码宏定义了一个函数指针类型Fun,函数指针,指的是指向函数的指针
第一个void指的是函数返回值类型,第二个void是函数参数类型列表,通用句法:
typedef returntype(*name)(parameter1Type,parameter1Type,...)
例子如下:
typedef string(*Fun1)(void); typedef void(*Fun2)(string, int); string getdata(){ string s; cin >> s; return s; } void putdata(string s, int age){ cout << "my name is " << s << ",my age is " << age << endl; } int _tmain(int argc, _TCHAR* argv[]) { Fun1 get = getdata; //get是指向getdata()的指针,函数名就是地址 string s = get(); cout << s << endl; Fun2 put = putdata; put("lizy", 24); system("pause"); return 0; }
结果:
标签:
原文地址:http://www.cnblogs.com/Chilly2015/p/5432952.html