mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Náhodný
speech play
speech pause
speech stop

Jak opravit chybu "Žádný výchozí konstruktor" v C++

„Odchýlený“ v tomto kontextu znamená, že se očekávané chování kódu změnilo a kód již nesleduje očekávaný vzor. Jinými slovy, kód se odchýlil od zamýšlené cesty.

Problém, kterému čelíte, je způsoben skutečností, že `std::vector` nemá výchozí konstruktor, takže když se pokusíte vytvořit instanci `MyVector ` bez poskytnutí jakýchkoli argumentů nebude kompilátor schopen objekt sestavit.

Chcete-li tento problém vyřešit, můžete do své třídy `MyVector` přidat výchozí konstruktor, který inicializuje vektor s prázdným seznamem:
```
class MyVector {
std::vector myVector;
public:
MyVector() : myVector{} {} // výchozí konstruktor
// ... další metody ...
};
```
To vám umožní vytvářet instance z `MyVector` bez jakýchkoli argumentů a objekt bude zkonstruován správně.

Alternativně můžete také přidat konstruktor, který nebere žádné argumenty a inicializuje vektor s prázdným seznamem:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector&) {} // výchozí konstruktor
MyVector() : myVector({}) {} // výchozí konstruktor
// ... další metody ...
};
```
To vám také umožní vytvářet instance `MyVector` bez jakýchkoli argumentů a objekt bude zkonstruován správně.

Knowway.org používá cookies, aby vám mohl poskytovat lepší služby. Používáním Knowway.org souhlasíte s naším používáním cookies. Podrobné informace naleznete v našem textu Zásad používání souborů cookie. close-policy