我遇到了C++继承问题。我有一个类层次结构:classA{public:virtualvoidonFoo(){}virtualvoidonFoo(inti){}};classB:publicA{public:virtualvoidonFoo(inti){}};classC:publicB{};intmain(){C*c=newC();c->onFoo();//Compileerror-doesn'texist}我的问题是:为什么不编译?我的理解是C应该从A继承两个onFoo函数——事实上,如果你在B中删除onFoo的重新定义,这将编译——但是g++给出了一个错误,即C没有onFoo()