三元运算符为什么c ++给出rvalue而不是l值

时间:2013-05-07 12:27:11

标签: c++ c ternary-operator

int a,b;
...
((a>b) ? a : b) = value ;

这是c中的错误。

  分配值需要

左值

但这在c ++中运行良好。

为什么不在c和c ++中呢?有什么不同?发生了什么?我知道它在c中返回lvalue,这就是为什么错误。精细。但是为什么在c和c ++中它是如此允许它返回rvalue?

0 个答案:

没有答案