Forum: Diğer Konular RSS
C++ - use of deleted function Hatası
İbrahim #1
Üye Eki 2015 tarihinden beri · 154 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Konu adı: C++ - use of deleted function Hatası
Selamün Aleyküm;

Toast Toast::makeText(const QString& text, Duration duration)
{
  toast = QAndroidJniObject::callStaticObjectMethod(
      class_toast, "makeText",
      "(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast",
      QtAndroid::androidActivity().object(),
      QAndroidJniObject::fromString(text).object(),
      jint(duration));
  return *this; // -> Hatayı *this'de veriyor.
}

Aldığım hata şu:
error: use of deleted function 'Toast::Toast(const Toast&)'
   return *this;
             ^


Toast::Toast(const Toast&)
böyle bir kurucu fonksiyonum yok ve = delete ifadesini hiçbir üye fonksiyonumda kullanmadım. Sebebi ne olabilir? Teşekkürler.
acehreli (Moderatör) #2
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4511 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
Aynı durum Toast'un üyelerinden birisi için geçerli olabilir. Kopyalayıcıyı kendimiz tanımlamazsak derleyici otomatik olarak tanımla(maya çalışı)r.

Ali
İbrahim #3
Üye Eki 2015 tarihinden beri · 154 mesaj
Grup üyelikleri: Üyeler
Profili göster · Bu konuya bağlantı
Teşekkürler, lakin burada sadece *this ile sınıfın kendisini döndürüyorum, nasıl bir kopyalayıcı tanımlamam lazım?
acehreli (Moderatör) #4
Kullanıcı başlığı: Ali Çehreli
Üye Haz 2009 tarihinden beri · 4511 mesaj
Grup üyelikleri: Genel Moderatörler, Üyeler
Profili göster · Bu konuya bağlantı
O zaman sanırım tek dert, dönüş türünü Toast& yapmayı unutmuş olman. Nesnenin kendisini döndürmek için bir referans döndürmen gerekir.

Bu arada, herkes öyle söylüyor ama tabii döndürülen şey sınıf değil, nesne. (Sınıf bu nesnenin türü ve türler döndürülemez.)

Eğer öyle olmasaydı ve gerçekten nesne kopyalamak isteseydin ve gerçekten üyelerden birisi kopyalamayı yasaklamış olsaydı, o durumda ne yapmanın doğru olacağına ancak sen karar verebilirdin. Örneğin, eğer iki Toast nesnesi o kopyalanamayan üyeyi paylaşabiliyor iseler o üyeyi değer olarak değil, referans veya gösterge olarak tutmak gerekirdi.

Ali
Doğrulama Kodu: VeriCode Lütfen resimde gördüğünüz doğrulama kodunu girin:
İfadeler: :-) ;-) :-D :-p :blush: :cool: :rolleyes: :huh: :-/ <_< :-( :'( :#: :scared: 8-( :nuts: :-O
Özel Karakterler:
Bağlı değilsiniz. · Şifremi unuttum · ÜYELİK
This board is powered by the Unclassified NewsBoard software, 20100516-dev, © 2003-10 by Yves Goergen
Şu an: 2017-10-20, 23:53:17 (UTC -07:00)