So beheben Sie den Fehler „Kein Standardkonstruktor“ in C++
„Abweichend“ bedeutet in diesem Zusammenhang, dass sich das erwartete Verhalten des Codes geändert hat und er nicht mehr dem erwarteten Muster folgt. Mit anderen Worten, der Code ist von seinem beabsichtigten Pfad abgewichen.
Das Problem, mit dem Sie konfrontiert sind, wird durch die Tatsache verursacht, dass „std::vector“ keinen Standardkonstruktor hat. Wenn Sie also versuchen, eine Instanz von „MyVector „Ohne Angabe von Argumenten kann der Compiler das Objekt nicht erstellen.
Um dieses Problem zu beheben, können Sie Ihrer Klasse „MyVector“ einen Standardkonstruktor hinzufügen, der den Vektor mit einer leeren Liste initialisiert:
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // Standardkonstruktor
// ... andere Methoden ...
};
```
Damit können Sie Instanzen erstellen von „MyVector“ ohne Argumente, und das Objekt wird korrekt erstellt.
Alternativ können Sie auch einen Konstruktor hinzufügen, der keine Argumente akzeptiert und den Vektor mit einer leeren Liste initialisiert:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
MyVector() : myVector({}) {} // Standardkonstruktor
// ... andere Methoden ...
};
```
Dadurch können Sie auch Instanzen von „MyVector“ ohne Argumente erstellen und das Objekt wird korrekt erstellt.