5
Tôi có chức năng quá tải có thể lấy hai loại đối số: int
và double
. Khi tôi đánh giá nó với một số ba có thể trả về hoặc là int
hoặc double
, nó luôn sử dụng phiên bản double
. Tại sao vậy?Chức năng quá tải được đánh giá với số ba
#include<iostream>
using namespace std;
void f(int a)
{
cout << "int" << endl;
}
void f(double a)
{
cout << "double" << endl;
}
int main()
{
string a;
cin >> a;
f(a=="int" ? 3 : 3.14159);
return 0;
}
[Vui lòng xem câu trả lời này] (http://stackoverflow.com/a/8535301/1729885). –
có thể trùng lặp của [Kiểu trả về của '?:' (Toán tử điều kiện bậc ba)] (http://stackoverflow.com/questions/8535226/return-type-of-ternary-conditional-operator) – Anonymous