C与C++回调函数的疑问
最近改写一个C++的代码,对一段回调函数产生疑问,特在此请教各位。
不废话,直接代码
#include <iostream>
void Print(int num)
{
cout<< "my age is "<<num<<endl;
}
/*该函数可以正常调用*/
void MyCall(int n,void (*CallFun)(int))
{
(*CallFun)(n);
}
/*该函数不可以正常调用,但在C中是正常的*/
//void MyCall(int n,void (*CallFun)())
//{
// (*CallFun)(n);//报错,给予的参数过多
//}
int main(void)
{
MyCall(27,Print);
}