C++ multiple inheritance - same methods in base classes but with different arguments
我有以下不编译的程序:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | class Interface1 { virtual void f() = 0; }; class Interface2 { virtual void f(int i) = 0; }; class Interface3 : public Interface1, public Interface2 {}; class C : public Interface3 { virtual void f() {} virtual void f(int i) {} }; int main() { Interface3* inter = new C(); inter->f(); // Error } |
怎么了?这是否意味着方法具有不同的参数类型无关紧要?
错误:对成员"f"的请求不明确注意:候选项是:虚拟void接口1::f()…注:虚拟虚接口2::f(int i)
问题是,两个基本类型中的