Hvordan fikse "No Default Constructor"-feilen i C++
"Avviket" betyr i denne sammenhengen at den forventede oppførselen til koden har endret seg, og den følger ikke lenger det forventede mønsteret. Med andre ord, koden har avviket fra den tiltenkte banen.
Problemet du står overfor er forårsaket av det faktum at `std::vector` ikke har en standard konstruktør, så når du prøver å lage en forekomst av `MyVector` ` uten å oppgi noen argumenter, vil ikke kompilatoren kunne konstruere objektet.
For å fikse dette problemet kan du legge til en standardkonstruktør til `MyVector`-klassen din som initialiserer vektoren med en tom liste:
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // default constructor
// ... andre metoder ...
};
```
Dette lar deg lage forekomster av `MyVector` uten noen argumenter, og objektet vil bli konstruert riktig.
Alternativt kan du også legge til en konstruktør som ikke tar noen 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å tillate deg å lage forekomster av `MyVector` uten noen argumenter, og objektet vil bli konstruert riktig.