首页 > 解决方案 > 从 C++ 中的库的多重继承具有歧义

问题描述

假设我有以下情况

// in library
class A {
    void foo();
}

class B: public A {}

// own program
class MyBaseClass: public A {}

class MyTypicalClass: public MyBaseClass {}

class SpecialCaseClass: public virtual MyBaseClass, public virtual B {}

通常我不需要BMyTypicalClass. 对于我想要在和中SpecialCaseClass定义的属性。我收到错误:错误:对成员 'foo' 的请求是模棱两可的,因为我继承自两次。有没有一种优雅的方式可以让我从's而不是 of of中获取所有模棱两可的东西?MyBaseClassBABAAMyBaseClass

标签: c++multiple-inheritance

解决方案


推荐阅读