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

Cum să remediați eroarea „Fără constructor implicit” în C++

„Deviat” în acest context înseamnă că comportamentul așteptat al codului s-a schimbat și nu mai urmează modelul așteptat. Cu alte cuvinte, codul a deviat de la calea intenționată.

Problema cu care te confrunți este cauzată de faptul că `std::vector` nu are un constructor implicit, așa că atunci când încerci să creezi o instanță pentru `MyVector ` fără a furniza niciun argument, compilatorul nu va putea construi obiectul.

Pentru a remedia această problemă, puteți adăuga un constructor implicit la clasa dvs. `MyVector` care inițializează vectorul cu o listă goală:
```
class MyVector {
std::vector myVector;
public:
MyVector() : myVector{} {} // constructor implicit
// ... alte metode ...
};
```
Acest lucru vă va permite să creați instanțe de `MyVector` fără niciun argument, iar obiectul va fi construit corect.

În mod alternativ, puteți adăuga, de asemenea, un constructor care nu acceptă argumente și inițializează vectorul cu o listă goală:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector&) {} // constructor implicit
MyVector() : myVector({}) {} // constructor implicit
// ... alte metode...
};
```
Acest lucru vă va permite, de asemenea, să creați instanțe ale lui `MyVector` fără niciun argument, iar obiectul va fi construit corect.

Knowway.org folosește cookie-uri pentru a vă oferi un serviciu mai bun. Folosind Knowway.org, sunteți de acord cu utilizarea cookie-urilor. Pentru informații detaliate, puteți consulta textul Politica privind cookie-urile. close-policy