Strange error at a ternary operator usage
<p>I have a following code:</p>

<pre><code>#include &lt;iostream&gt;
int main() {
    int i = 3;
    do {
        (i == 3) ? (std::cout &lt;&lt; "Is 3.\n") : ++i;
        ++i;

    } while ( i &lt; 4 );
    return 0;
}
</code></pre>

<p>And got a following error in response:</p>

<pre><code>ternary.cc: In function ‘int main()’:
ternary.cc:5:43: error: invalid conversion from ‘void*’ to ‘int’ [-fpermissive]
</code></pre>

<p>What is wrong with my code?</p>
