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

Programme in C++. Entwicklerforum
Anonymous
 Der Konstruktor für 'C' muss die Basisklasse 'A' explizit initialisieren, die keinen Standardkonstruktor [Duplikat] aufw

Post by Anonymous »

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?

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post