Как да коригирате грешката „Няма конструктор по подразбиране“ в C++
„Отклонено“ в този контекст означава, че очакваното поведение на кода се е променило и той вече не следва очаквания модел. С други думи, кодът се е отклонил от планирания път.
Проблемът, с който се сблъсквате, е причинен от факта, че `std::vector` няма конструктор по подразбиране, така че когато се опитате да създадете екземпляр на `MyVector ` без да предостави никакви аргументи, компилаторът няма да може да конструира обекта.
За да коригирате този проблем, можете да добавите конструктор по подразбиране към вашия клас `MyVector`, който инициализира вектора с празен списък:
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // конструктор по подразбиране
// ... други методи ...
};
```
Това ще ви позволи да създавате екземпляри на `MyVector` без никакви аргументи и обектът ще бъде конструиран правилно.
Алтернативно можете също да добавите конструктор, който не приема аргументи и инициализира вектора с празен списък:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
MyVector() : myVector({}) {} // конструктор по подразбиране
// ... други методи ...
};
```
Това също ще ви позволи да създавате екземпляри на `MyVector` без никакви аргументи и обектът ще бъде конструиран правилно.