#include<iostream>using namespace std;double dispaly(double a){return a;}int display(int a){return a;}char dispaly(char a){return a;}int main(){double x=1.11;int y=9;char z='abc';cout<<dispaly(x);cout<<dispaly(y);cout<<dispaly(z);return 0;}char z 问题 已经发现了
2 回答

开满天机
TA贡献1786条经验 获得超13个赞
仔细检查一下单词拼写:
double dispaly(double a)
{
return a;
}
int display(int a) //拼写错误,因该写成:dispaly,或者将dispaly 全部写成 display
return a;
}
char dispaly(char a)
{
return a;
}

德玛西亚99
TA贡献1770条经验 获得超3个赞
最简单的方案是将第二个构造函数的第二个形参的默认值取消,即去掉“=21”,应该说你如果希望提供默认值的话,你应该将第一个构造函数融入到第二个构造函数中去,应该说你的设计是有点问题的。
报错出现的原因:因为提供了默认构造函数,那么当你调用形式为”Person(a);//a是char*型”时就会出现2个等同地位的候选构造函数,即你所写的2个构造都是合法的候选函数,编译器不知道你指的是哪个函数了。
添加回答
举报
0/150
提交
取消