mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Tilfældig
speech play
speech pause
speech stop

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 myVector;
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&) {} // default constructor
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.

Knowway.org bruger cookies for at give dig en bedre service. Ved at bruge Knowway.org accepterer du vores brug af cookies. For detaljerede oplysninger kan du læse vores Cookiepolitik -tekst. close-policy