Is void() a valid C++ expression? : <p>Apparently, this ternary expression with <code>void()</code> as one argument compiles:</p>

<pre class="lang-cpp prettyprint-override"><code>void foo() {}

//...
a == b ? foo() : void();
</code></pre>

<p>Is <code>void()</code> a valid expression by the standard, or is it just a compiler thing? If it's valid, then what kind of expression is it?</p>
