Jak naprawić błąd „Brak domyślnego konstruktora” w C++
„Odchylone” w tym kontekście oznacza, że oczekiwane zachowanie kodu uległo zmianie i nie jest już zgodne z oczekiwanym wzorcem. Innymi słowy, kod odszedł od zamierzonej ścieżki.
Problem, przed którym stoisz, jest spowodowany faktem, że `std::vector` nie ma domyślnego konstruktora, więc gdy próbujesz utworzyć instancję `MyVector ` bez podania żadnych argumentów kompilator nie będzie mógł skonstruować obiektu.
Aby rozwiązać ten problem, możesz dodać domyślny konstruktor do swojej klasy `MyVector`, który inicjuje wektor pustą listą:
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // domyślny konstruktor
// ... inne metody ...
};
```
To pozwoli Ci tworzyć instancje `MyVector` bez żadnych argumentów, a obiekt zostanie zbudowany poprawnie.
Alternatywnie możesz także dodać konstruktor, który nie przyjmuje argumentów i inicjuje wektor pustą listą:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
// ... inne metody ...
};
```
Umożliwi to także utworzenie instancji `MyVector` bez żadnych argumentów, a obiekt zostanie poprawnie skonstruowany.