Як виправити помилку «Немає конструктора за замовчуванням» у 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` без будь-яких аргументів, і об’єкт буде створено правильно.