为什么不能将条件运算符用作语句

fly*_*ire 3 language-agnostic types conditional-operator conditional-statements

为什么条件运算符不能用作语句?

我想做的事情如下:

boolean isXyz = ...;
...
isXyz ? doXyz() : doAbc();
Run Code Online (Sandbox Code Playgroud)

在哪里doXyzdoAbc返回无效.

请注意,这与其他运算符不同,例如doXyz()+ doAbc()本质上需要doXyz和doAbc返回一个数字类似的东西来操作(或者连接字符串,或者其他什么,但重点是+实际上需要值来操作).

有什么深刻的东西,或者只是一个武断的决定.

注意:我来自Java世界,但我想知道这是否可以用您喜欢的编程语言.

Mic*_*ker 5

CC++允许这样的结构.只要doXyz()doAbc()返回相同的类型.包括void.