Beispiel

class BaseA { ... };
class BaseB : public BaseA { ... };
class BaseC : public BaseA { ... };

class Derived: public BaseB, public BaseC {
public:
void fnc(){}
};


Lösung
Übernehmen Sie nie direkt Elemente aus mehr als einer Klasse.

class BaseA { ... };
class BaseB : public BaseA { ... };
class BaseC : public BaseB { ... };

class Derived: public BaseC {
public:
void fnc(){}
};