Member function not inherited?
<p>This is my code</p>

<pre><code>class B {
public:
  virtual void insert(int t, int p) = 0;

  void insert(int t) {
    insert(t, 0);
  }
};

class D : public B {
public:
  void insert(int t, int p) { }

};

int main() {
  D d;
  d.insert(1);
}
</code></pre>

<p>which won't compile. Sure, it will if I say d.B::insert(1) in main, but why is this incorrect as is? Thanks.</p>