第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

我這樣fun重載竟然報錯了。。改成double就行,但是float就不行!什么鬼??

#include"iostream"
using?namespace?std;
void?fun(int?x?=?1,int?y?=?2,int?z?=?3);
void?fun(float?x,float?y);
int?main()
{
	fun(0.9,0.1);
	system("pause");
	return?0;
}

void?fun(int?x,int?y,int?z)
{
	cout?<<x<<','<<y<<','<<z<<endl;
}
void?fun(float?x,float?y)
{
	cout<<x<<','<<y<<endl;
}

error C2668: 'fun' : ambiguous call to overloaded function

could be 'void fun(float,float)'

or ? ? ? 'void fun(int,int,int)'


正在回答

2 回答

雖然0.9既能算是double又能算是float但是系統(tǒng)默認0.9這類的數(shù)為double型的,所以你要用float需要在數(shù)前指明。你的fun(0.9,0.1);函數(shù)里的0.9和0.1數(shù)被系統(tǒng)默認為double型的,所以在尋找double型重載時不匹配故報錯,你要這樣就可以:fun((float)0.9,(float)0.1);

0 回復 有任何疑惑可以回復我~

其實好多 ?float型 ?都能用 double型表示 ? 或許這和 編譯器有關

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
C++遠征之離港篇
  • 參與學習       122681    人
  • 解答問題       488    個

C++掃清通往面向對象的最后一道障礙,將所有知識點融會貫通

進入課程

我這樣fun重載竟然報錯了。。改成double就行,但是float就不行!什么鬼??

我要回答 關注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號