Sådan rettes fejlen "No Default Constructor" i C++
"Afviget" betyder i denne sammenh
ng, at kodens forventede adf
rd er
ndret, og den følger ikke l
ngere det forventede mønster. Med andre ord, koden har afveget fra sin tilsigtede sti.
Det problem, du står over for, er forårsaget af, at `std::vector` ikke har en standardkonstruktør, så når du forsøger at oprette en instans af `MyVector` ` uden at give nogen argumenter, vil compileren ikke v
re i stand til at konstruere objektet.
For at løse dette problem kan du tilføje en standardkonstruktør til din `MyVector`-klasse, der initialiserer vektoren med en tom liste:
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // default constructor
// ... andre metoder ...
};
```
Dette giver dig mulighed for at oprette forekomster af `MyVector` uden nogen argumenter, og objektet vil blive konstrueret korrekt.
Alternativt kan du også tilføje en konstruktør, der ikke tager nogen argumenter og initialiserer vektoren med en tom liste:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
MyVector() : myVector({}) {} // default constructor
// ... andre metoder ...
};
```
Dette vil også give dig mulighed for at oprette forekomster af `MyVector` uden nogen argumenter, og objektet vil blive konstrueret korrekt.