代码
#include <iostream>
using std::cout;
using std::endl;
class Base1{
public:
void foo(){cout<< "Base1::foo"<<endl;};
};

class Base2{
private:
void foo(){cout<< "Base1::foo"<<endl;};
};

class Dirived : public Base1,public Base2{};

int main(){
Dirived d;
d.foo();
return 0;
}

 

d.foo();这一行编译器会报错 error: "Dirived::foo" is ambiguous

那么既然,Bas2的foo是一个私有函数,在Dirived类中并不可见,为什么编译器还傻傻的说ambiguous呢?

 

相关文章:

  • 2022-12-23
  • 2022-02-28
  • 2021-12-14
  • 2021-09-19
  • 2022-01-16
  • 2021-07-19
  • 2021-06-20
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-01-07
  • 2022-12-23
  • 2022-12-23
  • 2022-02-24
  • 2021-11-11
  • 2021-10-13
相关资源
相似解决方案