|
|
1
1
我以前有过这个问题,三元运算符要求两种类型的真结果或假结果要么是相同的类型,要么将它们强制转换为相同的类型。 |
|
2
2
两个部分必须具有相同的类型,请尝试以下操作:
C编译器比C++编译器更容易理解这一点: |
|
|
3
2
这是个糟糕的设计。CAST运算符不应这样使用。 最好有一个ctor来处理这个问题(事实上,您正在尝试构造一个新对象)
或者,您可以使用工厂:
|
|
4
0
三元运算符需要能够返回一个类型,因为它只是一个语句。因此,当您让运算符的两个部分返回不同的类型时,编译器将尝试通过悄悄地将一个部分转换为另一个部分来实现这一点。您没有从duallanguageversepart到versepart的转换,反之亦然。
一个简单的修复方法是在
|
|
|
5
0
三元运算要求true和false返回相同的类型。这是解决这个问题的一种方法,尽管有点草率…
|
|
6
-1
任何运算符的结果类型(除
与此相反的是,这两个论点不一定是同一类型的。如果一种类型是从另一种类型派生的,则三元运算符结果将是基类型。但在您的示例中,有多个常见的基类型:至少
|
|
|
minus one · 空条件和空合并运算符*与*纯布尔表示法 8 年前 |
|
|
zaozaoer · >>java中带负字节值的and>>>运算符 8 年前 |
|
|
Ganesh Thampi · 使用位的奇偶程序 8 年前 |
|
|
FredMan · Rust中的<-符号是什么? 8 年前 |
|
|
user9578589 · Java条件数组 8 年前 |
|
|
Francisco José Letterio · 无法理解指针操作 8 年前 |
|
|
Danny · 如何在r中键入grep中的运算符 8 年前 |
|
|
David Rector · 什么是?=操作员在Swift中做什么? 8 年前 |
|
|
Gian · “/”操作符在Lua中提供什么功能? 8 年前 |