Why can't I cast to B*?
<p>I'm trying to cast to B* using operators but it's not working. Why? Thanks.</p>

<pre><code>struct B;

struct A {
    A() = default;

    operator (B *)() {
        return new B();
    }
};

struct B { B() = default; };

int main() {

    A a;

    B *b = a;

}
</code></pre>

<p>I get the error: <code>cannot convert 'A' to 'B*' in initialization</code></p>
