Cara Memperbaiki Kesalahan "Tidak Ada Konstruktor Default" di C++
"Menyimpang" dalam konteks ini berarti bahwa perilaku kode yang diharapkan telah berubah, dan tidak lagi mengikuti pola yang diharapkan. Dengan kata lain, kode telah menyimpang dari jalur yang dimaksudkan.
Masalah yang Anda hadapi disebabkan oleh fakta bahwa `std::vector` tidak memiliki konstruktor default, jadi ketika Anda mencoba membuat instance `MyVector ` tanpa memberikan argumen apa pun, kompiler tidak akan dapat membuat objek.
Untuk memperbaiki masalah ini, Anda dapat menambahkan konstruktor default ke kelas `MyVector` yang menginisialisasi vektor dengan daftar kosong:
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // konstruktor default
// ... metode lain ...
};
```
Ini memungkinkan Anda membuat instance dari `MyVector` tanpa argumen apa pun, dan objek akan dibuat dengan benar.
Atau, Anda juga dapat menambahkan konstruktor yang tidak memerlukan argumen dan menginisialisasi vektor dengan daftar kosong:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
MyVector() : myVector({}) {} // konstruktor default
// ... metode lain ...
};
```
Ini juga memungkinkan Anda membuat instance `MyVector` tanpa argumen apa pun, dan objek akan dibuat dengan benar.