Der Konstruktor für 'C' muss die Basisklasse 'A' explizit initialisieren, die keinen Standardkonstruktor [Duplikat] aufw

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Der Konstruktor für 'C' muss die Basisklasse 'A' explizit initialisieren, die keinen Standardkonstruktor [Duplikat] aufw

by Anonymous » 02 Feb 2025, 08:00

Ich habe diesen Code geschrieben, aber er kompiliert nicht und ich erhalte diesen Fehler in klang ++ v18.1.3: < /p>

Konstruktor für 'C' muss explizit initialisieren Die Basisklasse 'a', die keinen Standardkonstruktor < /p>
< /blockquote>
hat

Code: Select all

class A
{
public:
explicit A(int n)
{}
};

class B : virtual public A
{
public:
B(int n)
: A(n)
{}
};

class C : public B
{
public:
C(int n)
: B(n)
{}
};
Ich könnte den Konstruktor eines im Konstruktor von C aufrufen und es löst das Problem auf, aber ich habe keine Ahnung, warum dieses Problem passiert ist. Gibt es eine offizielle Möglichkeit, dieses Problem zu lösen?

Top