Comment corriger l'erreur « Aucun constructeur par défaut » dans C++
« Dévié » dans ce contexte signifie que le comportement attendu du code a changé et qu'il ne suit plus le modèle attendu. En d'autres termes, le code s'est écarté de son chemin prévu.
Le problème auquel vous êtes confronté est dû au fait que `std::vector` n'a pas de constructeur par défaut, donc lorsque vous essayez de créer une instance de `MyVector ` sans fournir d'arguments, le compilateur ne pourra pas construire l'objet.
Pour résoudre ce problème, vous pouvez ajouter un constructeur par défaut à votre classe `MyVector` qui initialise le vecteur avec une liste vide :
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // constructeur par défaut
// ... autres méthodes ...
};
```
Cela vous permettra de créer des instances de `MyVector` sans aucun argument, et l'objet sera construit correctement.
Alternativement, vous pouvez également ajouter un constructeur qui ne prend aucun argument et initialise le vecteur avec une liste vide :
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
MyVector() : myVector({}) {} // constructeur par défaut
// ... autres méthodes ...
};
```
Cela vous permettra également de créer des instances de `MyVector` sans aucun argument, et l'objet sera construit correctement.