Why can I take the address of a string literal, but not of an integer literal?
<p>I just stumbled over the following line of code</p>

<pre><code>cout &lt;&lt; &amp;"Blahh" &lt;&lt; endl;
</code></pre>

<p>The compiler doesn't give an error and on the console the address is displayed. It works all correctly without any problem. If I replace "Blahh" with an int, so</p>

<pre><code>cout &lt;&lt; &amp;10 &lt;&lt; endl;
</code></pre>

<p>the code won't compile. For short: a string literal works but an integer literal not.</p>

<p>What is the reason why <code>cout &lt;&lt; &amp;"Blahh" &lt;&lt; endl;</code> works and <code>cout &lt;&lt; &amp;10 &lt;&lt; endl;</code> not?</p>
