C++'de "Varsayılan Yapıcı Yok" Hatası Nasıl Düzeltilir
Bu bağlamda "sapmış", kodun beklenen davranışının değiştiği ve artık beklenen modeli takip etmediği anlamına gelir. Başka bir deyişle, kod amaçlanan yolundan sapmıştır.
Karşılaştığınız sorun, 'std::vector'un varsayılan bir kurucuya sahip olmamasından kaynaklanmaktadır; bu nedenle, 'MyVector' örneğini oluşturmaya çalıştığınızda ` herhangi bir argüman sağlamadan derleyici nesneyi oluşturamaz.
Bu sorunu düzeltmek için, 'MyVector' sınıfınıza vektörü boş bir listeyle başlatan varsayılan bir kurucu ekleyebilirsiniz:
```
class MyVector {
std::vector
public:
MyVector() : myVector{} {} // varsayılan kurucu
// ... diğer yöntemler ...
};
```
Bu, örnekler oluşturmanıza olanak tanır ``MyVector`' herhangi bir argüman olmadan oluşturulur ve nesne doğru şekilde oluşturulur.
Alternatif olarak, hiçbir argüman almayan ve vektörü boş bir listeyle başlatan bir kurucu da ekleyebilirsiniz:
```
class MyVector {
std::vector< int> myVector;
public:
MyVector(const std::vector
MyVector() : myVector({}) {} // varsayılan kurucu
// ... diğer yöntemler ...
};
```
Bu aynı zamanda herhangi bir argüman olmadan 'MyVector' örneklerini oluşturmanıza olanak tanır ve nesne doğru şekilde oluşturulur.