函数指针 函数重载问题
比如有两个函数:
void f( int a ) { ... }
void f( char b ) { ... }
有如下语句:
void (*pfun)( int a );
pfun = (void (*)( int ))f; ///这里, 因为f有两个重载, 怎样去选择那个对的函数
好像编译器不会为我选择一个正确的函数..
他会报错, 说不能将重载函数强制转换到 void (*)( int a )
英雄救我啊.
[解决办法]
pfun = (void (*)( int ))f;
改成
pfun = f;
[解决办法]
#include <iostream>
using namespace std;
void f( int a )
{
cout << " int : " << a << endl;
}
void f( char b )
{
cout << " char : " << b << endl;
}
int main()
{
void (*pfun)( int a );
pfun = f;
int a = 3;
pfun(a);
return 0;
}