Sanırım bir arkadaş sınıfı olarak bildirmeye çalıştığım bir şablon sınıfım var. Sınıfı ilan etmeli mi yoksa kendi şablonunu mı vermeliyim? Her ikisi de burada çalışıyor gibi görünüyor, ancak bunu doğru bir şekilde yapmakla ilgileniyorum.Şablon Arkadaş Sınıfı: Forward Declaration or ...?
Örnek:
template <typename E>
class SLinkedList;
template <typename E>
class SNode {
private:
E elem;
SNode<E>* next;
friend class SLinkedList<E>;
};
Ya
template <typename E>
class SNode {
private:
E elem;
SNode<E>* next;
template <typename T>
friend class SLinkedList;
};
- Bu kod, bir veri yapıları ve algoritmalar ders kitabı dışında doğrudan ne değiştirilmiş ne onun değer için
. Ancak, kitabın " 'SLinkedList'
template <typename E>
class SNode {
private:
E elem;
SNode<E>* next;
friend class SLinkedList<E>;
};
Dolayısıyla bu soruya C. Yeni ++ şablon olmayan sınıfın Açık ihtisas Xcode hata veriyor aşağıdaki kodu kullanır.
İlginç bir öneri. Şerefe – badfilms