首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

函数指针 函数重载有关问题

2013-01-04 
函数指针 函数重载问题比如有两个函数: void f( int a ) { ... }void f( char b ) { ... }有如下语句:void

函数指针 函数重载问题
比如有两个函数: 
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;
}

[解决办法]
pfun = (void (*)( int ))f;
改成
pfun = f;

pfun = *f;
[解决办法]
引用:
pfun = (void (*)( int ))f;
改成
pfun = f;

pfun = *f;

pfun = &f;
[解决办法]
引用:
引用:

pfun = (void (*)( int ))f;
改成
pfun = f;

pfun = *f;

pfun = &amp;f;

貌似函数 地址 f与 &f,结果一样吧
[解决办法]
引用:
引用:
引用:

pfun = (void (*)( int ))f;
改成
pfun = f;

pfun = *f;

pfun = &amp;amp;f;

貌似函数 地址 f与 &amp;f,结果一样吧


C/C++语言的特征

热点排行