forward declaring a derived class to be used in a base class causes a missing default constructor error
<p>Had a complicated program that kept throwing up the missing default constructor error, and after much tinkering, i found the exact same scenario that gives the same error. What's wrong with this?</p>

<pre><code>class B;

class A
{
public:
    A() {instance = new B;}
    virtual ~A() {delete instance;}
private:
    A*instance;
};

class B : public A
{
public:
    B(){}
}
</code></pre>

<p>can't forward declare a derived class to be used within the base class?</p>
