Inheritance of virtual member functions with the same name
问题 class A { A() {}; virtual ~A() {}; virtual void Start() {}; virtual void Start(float a) {}; }; class B : public A { }; class C : public A { virtual void Start(float a) {}; } ... B BObj; BObj.Start(); // -> fine, no complain from g++ ... ... C CObj; CObj.Start(); // -> not fine -> error: no matching function for call to ‘C::Start()’ ... I suspect that the problem comes from that both virtual functions have the same name, but different parameter signature. What I would like to know is that this