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

Kuinka korjata "Ei oletuskonstruktori" -virhe C++issa

"Poikkeama" tarkoittaa tässä yhteydessä, että koodin odotettu käyttäytyminen on muuttunut, eikä se enää seuraa odotettua kaavaa. Toisin sanoen koodi on poikennut aiotulta polulta.

Kohtaamasi ongelma johtuu siitä, että `std::vector'lla ei ole oletuskonstruktoria, joten kun yrität luoda esiintymän `MyVectorista ` ilman argumentteja, kääntäjä ei pysty rakentamaan objektia.

Korjaaksesi tämän ongelman, voit lisätä oletuskonstruktorin `MyVector-luokkaasi, joka alustaa vektorin tyhjällä listalla:
```
class MyVector {
std::vector myVector;
public:
MyVector() : myVector{} {} // oletuskonstruktori
// ... muut menetelmät ...
};
```
Tämän avulla voit luoda esiintymiä `MyVectorista` ilman argumentteja, ja objekti rakennetaan oikein.

Vaihtoehtoisesti voit lisätä konstruktorin, joka ei ota argumentteja ja alustaa vektorin tyhjällä listalla:
```
class MyVector {
std::vector< int> myVector;
public:
OmaVektori(const std::vektori&) {} // oletuskonstruktori
OmaVektori() : myVector({}) {} // oletuskonstruktori
// ... muita menetelmiä ...
};
```
Tämän avulla voit myös luoda `MyVectorin` esiintymiä ilman argumentteja, ja objekti rakennetaan oikein.

Knowway.org käyttää evästeitä tarjotakseen sinulle paremman palvelun. Käyttämällä Knowway.orgia hyväksyt evästeiden käytön. Tarkempia tietoja saat tutustumalla evästekäytäntöömme. close-policy