次のコードを使用できない理由はありますか?インラインでulongを返す場合
ulong test(int a, int b)
{
return a == b ? 0 : 1;
}
それは私を示しています
Cannot implicitly convert type 'int' to 'ulong'. An explicit conversion exists (are you missing a cast?)
次のように動作します:
ulong test(int a, int b)
{
return false ? 0 : 1;
}
私はこの問題を解決する方法を知っています。私はその理由を知りたい。
ありがとうございました。
最終的なコードブロックでは、 'false'を' true'に置き換えると機能しますか?多分 '1'は' 0'で暗黙的に変換できる何らかの理由がありますか? –
すでにテスト済みですが、違いはありません。 –
それは '偽ですか? 0:1'は定数式です。それは 'a == bを返す? 0:1'はそうではありません。 'int'型の定数式は 'ulong'の範囲に収まると暗黙的に' ulong'に変換できます。 – PetSerAl