Hoe u de fout "Geen standaardconstructor" in C++ kunt oplossen
'Afgeweken' betekent in deze context dat het verwachte gedrag van de code is veranderd en niet langer het verwachte patroon volgt. Met andere woorden, de code is afgeweken van het beoogde pad.
Het probleem waarmee u wordt geconfronteerd, wordt veroorzaakt door het feit dat `std::vector` geen standaardconstructor heeft, dus wanneer u probeert een exemplaar van `MyVector te maken ` zonder argumenten op te geven, zal de compiler het object niet kunnen construeren.
Om dit probleem op te lossen, kunt u een standaardconstructor toevoegen aan uw klasse `MyVector` die de vector initialiseert met een lege lijst:
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // standaard constructor
// ... andere methoden ...
};
```
Hiermee kunt u instanties maken van `MyVector` zonder argumenten, en het object zal correct worden geconstrueerd.
Als alternatief kunt u ook een constructor toevoegen die geen argumenten accepteert en de vector initialiseert met een lege lijst:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
MyVector() : myVector({}) {} // standaard constructor
// ... andere methoden ...
};
```
Hiermee kunt u ook instanties van `MyVector` maken zonder enige argumenten, en het object zal correct worden geconstrueerd.