1
我的程序有兩個打印函數:一個用於int
,另一個用於float
。在C++中函數重載的困惑
void print(float a){
cout << "float:" << a << endl;
}
void print(int a){
cout << "integer:" << a << endl;
}
每當我打電話print(10)
或print(0)
一個爲int
數據類型被調用。但是,當我嘗試撥打print(3.5)
時,會出現編譯錯誤。爲什麼這樣?
PS當我只有一個print
函數void print(float a)
然後print(3.5)
工作正常。
'3.5'是一個'double'。嘗試'打印(3.5f)'。 – songyuanyao
3.5'也不是'漂浮'嗎? –
@MairaMuneer不,這是一個'雙';) – Quentin