#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 問題 已經(jīng)發(fā)現(xiàn)了
2 回答

開滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗 獲得超13個贊
仔細(xì)檢查一下單詞拼寫:
double dispaly(double a)
{
return a;
}
int display(int a) //拼寫錯誤,因該寫成:dispaly,或者將dispaly 全部寫成 display
return a;
}
char dispaly(char a)
{
return a;
}

德瑪西亞99
TA貢獻(xiàn)1770條經(jīng)驗 獲得超3個贊
最簡單的方案是將第二個構(gòu)造函數(shù)的第二個形參的默認(rèn)值取消,即去掉“=21”,應(yīng)該說你如果希望提供默認(rèn)值的話,你應(yīng)該將第一個構(gòu)造函數(shù)融入到第二個構(gòu)造函數(shù)中去,應(yīng)該說你的設(shè)計是有點問題的。
報錯出現(xiàn)的原因:因為提供了默認(rèn)構(gòu)造函數(shù),那么當(dāng)你調(diào)用形式為”Person(a);//a是char*型”時就會出現(xiàn)2個等同地位的候選構(gòu)造函數(shù),即你所寫的2個構(gòu)造都是合法的候選函數(shù),編譯器不知道你指的是哪個函數(shù)了。
添加回答
舉報
0/150
提交
取消