böyle yaklaşık görünen bir sınıf var:C++ 'bu' parametre olarak
class MeshClass
{
public:
Anchor getAnchorPoint(x, y)
{
return Anchor(this, x, y);
}
private:
points[x*y];
}
Ben Mesh erişmek ve değiştirebileceğiniz bir "Çapa" noktasını temsil başka bir sınıf yapmak istiyorum böyle gelin: Ben return Anchor(this, x, y)
gibi MeshClass::getAnchorPoint
yöntem şey Anchor
yapmaya çalıştığınızda
class Anchor
{
public:
Anchor(&MeshClass, x, y)
moveAnchor(x, y);
}
sorundur ama this
const olduğu için yapamıyorum. Bir çözüm olarak, bunu anlayana kadar Anchor'a bir referans noktasını kabul ediyorum ve moveNnchor bu noktayı doğrudan hareket ettiriyor.
Düzenleme: Sorun büyük olasılıkla bir Referans kullanmaya çalışırken yaptığım bir dilsizlikti. Normalde yaptığım gibi bir işaretçi kullanarak değiştirdim ve derleyiciden hiçbir şikayette bulunmadan this
'dan geçebilirim. Neredeyse, bu varlık ile ilgili bir hata aldığımdan eminim, ama bunu yeniden oluşturamıyorum, bu yüzden sadece aklımdan çıkmalıyım.
Merhaba, benim için senin öyle ... derlemek varsayalım değildir? –
Muhtemelen yok (henüz) :) Unutmayın ki (en azından düz eski C), tür belirtilmemişse, varsayılan olarak int'ye girer, ancak bir uyarı atar. –
Lütfen kullanmak istediğiniz gerçek kodu ve oluşturduğu hatayı gönderin. (Bu hatayla uğraşmayı denemediğinizden değil.) Yapmaya çalıştığınız şeyi tahmin etmek biraz zor. –