Given the following code (in GCC 4.3) , why is the conversion to reference called twice?
<p>Given the following code (in GCC 4.3) , why is the conversion to reference called in both cases?</p>

<pre><code>class A { };

class B {
public:
  operator A() {}
  operator A&amp;() {}
};

int main() {
  B b;
  (A) b;
  (A&amp;) b;
}
</code></pre>

<p><a href="http://ideone.com/d6iF8" rel="nofollow">http://ideone.com/d6iF8</a></p>
