单选题
有如下程序:
#include
using namespace std;
void fun(char c) { cout<<"char c / "; }
void fun(double d) { cout<<"double d / "; }
void fun(char* p) { cout<<"char *p / "; }
int main() {
fun(0);
return 0;
}
进行编译、链接、运行的结果是
【正确答案】
A
【答案解析】解析:程序中有三个重载fun函数,形参类型分别为:char类型,double类型和char*类型,main函数中,调用fun函数,实参为0,编译器需要确定重载函数中的最佳匹配,由于0可以隐式转换为char类型、double类型、char*类型,均不能精确匹配,所以该函数调用具有二义性,编译出错;答案为A。