mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Tilfeldig
speech play
speech pause
speech stop

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 myVector;
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&) {} // default constructor
MyVector() : myVector({}) {} // default constructor
// ... andre metoder ...
};
```
Dette vil også tillate deg å lage forekomster av `MyVector` uten noen argumenter, og objektet vil bli konstruert riktig.

Knowway.org bruker informasjonskapsler for å gi deg en bedre service. Ved å bruke Knowway.org godtar du vår bruk av informasjonskapsler. For detaljert informasjon kan du lese teksten vår i retningslinjer for informasjonskapsler. close-policy