'メソッドグループ'と 'メソッドグループ'の間の暗黙的な変換がないために決定されます。 ただし、if-else d OESは、すべての問題を持っていない: Comparison<KeyValuePair<int, string>> sortMethod;
if (isSortByActualValue)
sortMethod = CompareByKey;
else
so
試してみると、条件演算子の前後に角カッコを入れる必要があることがわかりました。ここで小さな例: #include <iostream>
int main() {
int a = 5;
float b = (a!=0) ? 42.0f : -42.0f;
// works fine
std::cout << b << std::endl;
//
次のコードを検討:この愚かな例で int i, k, m;
k = 12;
m = 34;
for (i = 0; i < 2; i++) ((i & 1) ? k : m) = 99 - i;
printf("k: %ld m: %ld\n\n", k, m);
を、条件演算子発現がショートカットである: if (i & 1) k = 99 - i; else m = 99 - i;