mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Случаен
speech play
speech pause
speech stop

Как да коригирате грешката „Няма конструктор по подразбиране“ в C++

„Отклонено“ в този контекст означава, че очакваното поведение на кода се е променило и той вече не следва очаквания модел. С други думи, кодът се е отклонил от планирания път.

Проблемът, с който се сблъсквате, е причинен от факта, че `std::vector` няма конструктор по подразбиране, така че когато се опитате да създадете екземпляр на `MyVector ` без да предостави никакви аргументи, компилаторът няма да може да конструира обекта.

За да коригирате този проблем, можете да добавите конструктор по подразбиране към вашия клас `MyVector`, който инициализира вектора с празен списък:
```
class MyVector {
std::vector myVector;
public:
MyVector() : myVector{} {} // конструктор по подразбиране
// ... други методи ...
};
```
Това ще ви позволи да създавате екземпляри на `MyVector` без никакви аргументи и обектът ще бъде конструиран правилно.

Алтернативно можете също да добавите конструктор, който не приема аргументи и инициализира вектора с празен списък:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector&) {} // конструктор по подразбиране
MyVector() : myVector({}) {} // конструктор по подразбиране
// ... други методи ...
};
```
Това също ще ви позволи да създавате екземпляри на `MyVector` без никакви аргументи и обектът ще бъде конструиран правилно.

Knowway.org използва бисквитки, за да ви предостави по-добра услуга. Използвайки Knowway.org, вие се съгласявате с използването на бисквитки. За подробна информация можете да прегледате текста на нашата Правила за бисквитки. close-policy