#include <IOSTREAM>
using namespace std;
/*函数指针*/
void func(float x, int y)
{
x = x+y;
cout<<x<<endl;
}
void dunc(float, int);
float jin(float x, int y)
{
return x+y;
}
void kon(int);
void main()
{
void (*p) (float, int);//定义函数指针p,其对应的函数必须是函数返回值类型是viod,形参列表是(float, int).
p = func;
p(6,8);//函数指针名可当作函数名使用
cout<<p<<'\t'<<func<<endl;//函数名是个指针常量
p = dunc;
p(666,6);
cout<<p<<'\t'<<dunc<<endl;
// p = jin;//错误,虽然参数列表与函数指针p相同,但函数返回值类型不同。
// p = kon;//错误,虽然返回值类型与函数指针p相同,但参数列表不同。
}
void dunc(float a, int b)
{
a *= b;
cout<<a<<endl;
}
void kon(int k)
{
k = k-1;
cout<<k<<endl;
}
/*
14
004011CC 004011CC
3996
0040109B 0040109B
Press any key to continue
*/