Standardkonstruktor und virtuelle Vererbung

Ist es möglich, eine virtuelle Vererbung für eine Klasse zu haben, die keinen Standardkonstruktor bereitstellt?

Das vorliegende Diamantdiagramm (das einfachste mit der einzigen Änderung, die kein Standardkonstruktor enthält) wird nicht kompiliert (g ++ 4.4.3).

class A {
 public: 
  A(int ) {}
};
class B : virtual public A {
 public:
  B(int i) : A(i) {}
};
class C : virtual public A {
 public:
  C(int i) : A(i) {}
};
class D : public B, public C {
 public:
  D(int i) : B(i), C(i) {}
};

anke, Frances

Antworten auf die Frage(8)

Ihre Antwort auf die Frage