5
ile değerlendirildi İki bağımsız değişken türünü alabilen aşırı yüklenmiş bir işlev var: int
ve double
. Bir int
veya double
döndüren bir üçlü ile değerlendirdiğimde, her zaman double
sürümünü kullanır. Neden?Aşırı yüklenmiş işlev, üçlü
#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;
}
[Lütfen bu cevaba bakınız] (http://stackoverflow.com/a/8535301/1729885). –
olası bir kopyası [İade türü ':' (üçlü koşullu operatör)] (http://stackoverflow.com/questions/8535226/return-type-of-ternary-conditional-operator) – Anonymous