A() = A() - why does it compile?
<pre><code>class A {};

int main() {
 A() = A();
 return 0; 
}
</code></pre>

<p>Why does this code compile? Shouldn't be there some error that on the left side of assignment operator should be placed lvalue? Is A() lvalue? g++ 4.7 version</p>
