Apparently, this ternary expression with void()
as one argument compiles:
void foo() {}
//...
a == b ? foo() : void();
Is void()
a valid expression by the standard, or is it just a compiler thing? If it's valid, then what kind of expression is it?